summaryrefslogtreecommitdiff
path: root/data/en_us/cbn/2017-09-12/api-docs.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/cbn/2017-09-12/api-docs.php')
-rw-r--r--data/en_us/cbn/2017-09-12/api-docs.php49070
1 files changed, 21911 insertions, 27159 deletions
diff --git a/data/en_us/cbn/2017-09-12/api-docs.php b/data/en_us/cbn/2017-09-12/api-docs.php
index 9cde407..00218cf 100644
--- a/data/en_us/cbn/2017-09-12/api-docs.php
+++ b/data/en_us/cbn/2017-09-12/api-docs.php
@@ -1,378 +1,165 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'Cbn',
- 'version' => '2017-09-12',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'Cbn', 'version' => '2017-09-12'],
'directories' => [
[
- 'id' => 58521,
- 'title' => 'CEN instances',
+ 'children' => ['CreateCen', 'DeleteCen', 'ModifyCenAttribute', 'DescribeCens', 'DescribeGrantRulesToResource'],
'type' => 'directory',
- 'children' => [
- 'CreateCen',
- 'DeleteCen',
- 'ModifyCenAttribute',
- 'DescribeCens',
- 'DescribeGrantRulesToResource',
- 'MoveResourceGroup',
- ],
+ 'title' => 'Cloud enterprise network (CEN) instances',
],
[
- 'id' => 174108,
- 'title' => 'Transit routers',
+ 'children' => ['CreateTransitRouter', 'DeleteTransitRouter', 'UpdateTransitRouter', 'ListTransitRouters', 'ListTransitRouterAvailableResource', 'OpenTransitRouterService', 'CheckTransitRouterService', 'GrantInstanceToTransitRouter', 'RevokeInstanceFromTransitRouter', 'ModifyGrantInstanceToTransitRouter'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouter',
- 'DeleteTransitRouter',
- 'UpdateTransitRouter',
- 'ListTransitRouters',
- 'ListTransitRouterAvailableResource',
- 'OpenTransitRouterService',
- 'CheckTransitRouterService',
- 'GrantInstanceToTransitRouter',
- 'RevokeInstanceFromTransitRouter',
- ],
+ 'title' => 'Transit router instances',
],
[
- 'id' => 175780,
- 'title' => 'Transit router CIDR blocks',
+ 'children' => ['CreateTransitRouterCidr', 'DeleteTransitRouterCidr', 'ModifyTransitRouterCidr', 'ListTransitRouterCidrAllocation'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterCidr',
- 'DeleteTransitRouterCidr',
- 'ModifyTransitRouterCidr',
- 'ListTransitRouterCidr',
- 'ListTransitRouterCidrAllocation',
- ],
+ 'title' => 'Transit router CIDR blocks',
],
[
- 'id' => 174109,
- 'title' => 'Network instance connections',
- 'type' => 'directory',
'children' => [
[
- 'id' => 174110,
- 'title' => 'VPC connections',
+ 'children' => ['CreateTransitRouterVpcAttachment', 'DeleteTransitRouterVpcAttachment', 'UpdateTransitRouterVpcAttachmentAttribute', 'ListTransitRouterVpcAttachments'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterVpcAttachment',
- 'DeleteTransitRouterVpcAttachment',
- 'UpdateTransitRouterVpcAttachmentAttribute',
- 'UpdateTransitRouterVpcAttachmentZones',
- 'ListTransitRouterVpcAttachments',
- ],
+ 'title' => 'VPC connections',
],
[
- 'id' => 190414,
- 'title' => 'ECR connections',
+ 'children' => ['CreateTransitRouterEcrAttachment', 'UpdateTransitRouterEcrAttachmentAttribute'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterEcrAttachment',
- 'DeleteTransitRouterEcrAttachment',
- 'UpdateTransitRouterEcrAttachmentAttribute',
- 'ListTransitRouterEcrAttachments',
- ],
+ 'title' => 'Express connect router connections',
],
[
- 'id' => 174112,
- 'title' => 'VPN connections',
+ 'children' => ['CreateTransitRouterVpnAttachment', 'DeleteTransitRouterVpnAttachment', 'UpdateTransitRouterVpnAttachmentAttribute', 'ListTransitRouterVpnAttachments'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterVpnAttachment',
- 'DeleteTransitRouterVpnAttachment',
- 'UpdateTransitRouterVpnAttachmentAttribute',
- 'ListTransitRouterVpnAttachments',
- ],
+ 'title' => 'VPN connections',
],
[
- 'id' => 174111,
- 'title' => 'VBR connections',
+ 'children' => ['CreateTransitRouterVbrAttachment', 'DeleteTransitRouterVbrAttachment', 'UpdateTransitRouterVbrAttachmentAttribute', 'ListTransitRouterVbrAttachments'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterVbrAttachment',
- 'DeleteTransitRouterVbrAttachment',
- 'UpdateTransitRouterVbrAttachmentAttribute',
- 'ListTransitRouterVbrAttachments',
- ],
+ 'title' => 'Virtual border router connections',
],
'AttachCenChildInstance',
'DetachCenChildInstance',
'DescribeCenAttachedChildInstanceAttribute',
'DescribeCenAttachedChildInstances',
'DescribeChildInstanceRegions',
- 'DescribeGrantRulesToCen',
'ListGrantVSwitchesToCen',
],
+ 'type' => 'directory',
+ 'title' => 'Network instance connections',
],
[
- 'id' => 58532,
- 'title' => 'Bandwidth plans',
+ 'children' => ['CreateCenBandwidthPackage', 'DeleteCenBandwidthPackage', 'ModifyCenBandwidthPackageAttribute', 'ModifyCenBandwidthPackageSpec', 'DescribeCenGeographicSpanRemainingBandwidth', 'DescribeCenGeographicSpans', 'DescribeGeographicRegionMembership', 'TempUpgradeCenBandwidthPackageSpec', 'UnassociateCenBandwidthPackage', 'AssociateCenBandwidthPackage'],
'type' => 'directory',
- 'children' => [
- 'CreateCenBandwidthPackage',
- 'DeleteCenBandwidthPackage',
- 'ModifyCenBandwidthPackageAttribute',
- 'ModifyCenBandwidthPackageSpec',
- 'DescribeCenGeographicSpanRemainingBandwidth',
- 'DescribeCenBandwidthPackages',
- 'DescribeCenGeographicSpans',
- 'DescribeGeographicRegionMembership',
- 'TempUpgradeCenBandwidthPackageSpec',
- 'UnassociateCenBandwidthPackage',
- 'AssociateCenBandwidthPackage',
- ],
+ 'title' => 'Bandwidth plans',
],
[
- 'id' => 175781,
- 'title' => 'Cross-region connections',
+ 'children' => ['CreateTransitRouterPeerAttachment', 'DeleteTransitRouterPeerAttachment', 'SetCenInterRegionBandwidthLimit', 'UpdateTransitRouterPeerAttachmentAttribute', 'ListTransitRouterPeerAttachments', 'DescribeCenInterRegionBandwidthLimits'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterPeerAttachment',
- 'DeleteTransitRouterPeerAttachment',
- 'SetCenInterRegionBandwidthLimit',
- 'UpdateTransitRouterPeerAttachmentAttribute',
- 'ListTransitRouterPeerAttachments',
- 'DescribeCenInterRegionBandwidthLimits',
- ],
+ 'title' => 'Inter-region connections',
],
[
- 'id' => 174005,
- 'title' => 'Route management',
+ 'children' => ['CreateCenChildInstanceRouteEntryToAttachment', 'DeleteCenChildInstanceRouteEntryToAttachment', 'DeleteCenChildInstanceRouteEntryToCen', 'ListCenChildInstanceRouteEntriesToAttachment', 'DescribeCenRegionDomainRouteEntries', 'DescribeCenChildInstanceRouteEntries', 'DescribePublishedRouteEntries', 'DescribeRouteConflict', 'PublishRouteEntries', 'WithdrawPublishedRouteEntries'],
'type' => 'directory',
- 'children' => [
- 'CreateCenChildInstanceRouteEntryToAttachment',
- 'CreateCenChildInstanceRouteEntryToCen',
- 'DeleteCenChildInstanceRouteEntryToAttachment',
- 'DeleteCenChildInstanceRouteEntryToCen',
- 'ListCenChildInstanceRouteEntriesToAttachment',
- 'DescribeCenRegionDomainRouteEntries',
- 'DescribeCenChildInstanceRouteEntries',
- 'DescribePublishedRouteEntries',
- 'DescribeRouteConflict',
- 'PublishRouteEntries',
- 'WithdrawPublishedRouteEntries',
- ],
+ 'title' => 'Route management',
],
[
- 'id' => 58547,
- 'title' => 'Route tables of transit routers',
+ 'children' => ['CreateTransitRouterRouteTable', 'DeleteTransitRouterRouteTable', 'UpdateTransitRouterRouteTable', 'ListTransitRouterRouteTables'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterRouteTable',
- 'DeleteTransitRouterRouteTable',
- 'UpdateTransitRouterRouteTable',
- 'ListTransitRouterRouteTables',
- ],
+ 'title' => 'Transit router route tables',
],
[
- 'id' => 174010,
- 'title' => 'Routes of transit routers',
+ 'children' => ['CreateTransitRouterRouteEntry', 'DeleteTransitRouterRouteEntry', 'UpdateTransitRouterRouteEntry', 'ListTransitRouterRouteEntries'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterRouteEntry',
- 'DeleteTransitRouterRouteEntry',
- 'UpdateTransitRouterRouteEntry',
- 'ListTransitRouterRouteEntries',
- ],
+ 'title' => 'Transit router route entries',
],
[
- 'id' => 174015,
- 'title' => 'Associated forwarding correlations',
+ 'children' => ['ListTransitRouterRouteTableAssociations', 'AssociateTransitRouterAttachmentWithRouteTable', 'ReplaceTransitRouterRouteTableAssociation', 'DissociateTransitRouterAttachmentFromRouteTable'],
'type' => 'directory',
- 'children' => [
- 'ListTransitRouterRouteTableAssociations',
- 'AssociateTransitRouterAttachmentWithRouteTable',
- 'ReplaceTransitRouterRouteTableAssociation',
- 'DissociateTransitRouterAttachmentFromRouteTable',
- ],
+ 'title' => 'Associated forwarding relationships',
],
[
- 'id' => 174020,
- 'title' => 'Route learning correlations',
+ 'children' => ['EnableTransitRouterRouteTablePropagation', 'DisableTransitRouterRouteTablePropagation', 'ListTransitRouterRouteTablePropagations'],
'type' => 'directory',
- 'children' => [
- 'EnableTransitRouterRouteTablePropagation',
- 'DisableTransitRouterRouteTablePropagation',
- 'ListTransitRouterRouteTablePropagations',
- ],
+ 'title' => 'Route learning relationships',
],
[
- 'id' => 174025,
- 'title' => 'Route maps',
+ 'children' => ['CreateCenRouteMap', 'DeleteCenRouteMap', 'ModifyCenRouteMap', 'DescribeCenRouteMaps'],
'type' => 'directory',
- 'children' => [
- 'CreateCenRouteMap',
- 'DeleteCenRouteMap',
- 'ModifyCenRouteMap',
- 'DescribeCenRouteMaps',
- ],
+ 'title' => 'Routing policies',
],
[
- 'id' => 178435,
- 'title' => 'Aggregate Route',
+ 'children' => ['CreateTransitRouteTableAggregation', 'ModifyTransitRouteTableAggregation', 'DeleteTransitRouteTableAggregation', 'RefreshTransitRouteTableAggregation', 'DescribeTransitRouteTableAggregationDetail', 'DescribeTransitRouteTableAggregation'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouteTableAggregation',
- 'ModifyTransitRouteTableAggregation',
- 'DeleteTransitRouteTableAggregation',
- 'RefreshTransitRouteTableAggregation',
- 'DescribeTransitRouteTableAggregationDetail',
- 'DescribeTransitRouteTableAggregation',
- ],
+ 'title' => 'Aggregate routes',
],
[
- 'id' => 58567,
- 'title' => 'Prefix lists',
+ 'children' => ['DeleteTransitRouterPrefixListAssociation', 'ListTransitRouterPrefixListAssociation'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterPrefixListAssociation',
- 'DeleteTransitRouterPrefixListAssociation',
- 'ListTransitRouterPrefixListAssociation',
- ],
+ 'title' => 'Prefix lists',
],
[
- 'id' => 174029,
- 'title' => 'Traffic scheduling',
- 'type' => 'directory',
'children' => [
[
- 'id' => 174034,
- 'title' => 'Traffic marking policy',
+ 'children' => ['AddTrafficMatchRuleToTrafficMarkingPolicy', 'ModifyTrafficMatchRuleToTrafficMarkingPolicy', 'CreateTrafficMarkingPolicy', 'DeleteTrafficMarkingPolicy', 'UpdateTrafficMarkingPolicyAttribute', 'ListTrafficMarkingPolicies', 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy'],
'type' => 'directory',
- 'children' => [
- 'AddTraficMatchRuleToTrafficMarkingPolicy',
- 'AddTrafficMatchRuleToTrafficMarkingPolicy',
- 'ModifyTrafficMatchRuleToTrafficMarkingPolicy',
- 'CreateTrafficMarkingPolicy',
- 'DeleteTrafficMarkingPolicy',
- 'UpdateTrafficMarkingPolicyAttribute',
- 'ListTrafficMarkingPolicies',
- 'RemoveTraficMatchRuleFromTrafficMarkingPolicy',
- 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy',
- ],
+ 'title' => 'Traffic marking policies',
],
[
- 'id' => 174043,
- 'title' => 'QoS policies',
+ 'children' => ['CreateCenInterRegionTrafficQosQueue', 'CreateCenInterRegionTrafficQosPolicy', 'DeleteCenInterRegionTrafficQosQueue', 'DeleteCenInterRegionTrafficQosPolicy', 'UpdateCenInterRegionTrafficQosQueueAttribute', 'UpdateCenInterRegionTrafficQosPolicyAttribute', 'ListCenInterRegionTrafficQosPolicies', 'ListCenInterRegionTrafficQosQueues'],
'type' => 'directory',
- 'children' => [
- 'CreateCenInterRegionTrafficQosQueue',
- 'CreateCenInterRegionTrafficQosPolicy',
- 'DeleteCenInterRegionTrafficQosQueue',
- 'DeleteCenInterRegionTrafficQosPolicy',
- 'UpdateCenInterRegionTrafficQosQueueAttribute',
- 'UpdateCenInterRegionTrafficQosPolicyAttribute',
- 'ListCenInterRegionTrafficQosPolicies',
- 'ListCenInterRegionTrafficQosQueues',
- ],
+ 'title' => 'Traffic scheduling policies',
],
],
+ 'type' => 'directory',
+ 'title' => 'Traffic scheduling',
],
[
- 'id' => 174033,
- 'title' => 'Cloud services',
+ 'children' => ['DeleteRouteServiceInCen', 'DescribeRouteServicesInCen', 'ResolveAndRouteServiceInCen'],
'type' => 'directory',
- 'children' => [
- 'DeleteRouteServiceInCen',
- 'DescribeRouteServicesInCen',
- 'ResolveAndRouteServiceInCen',
- ],
+ 'title' => 'Cloud services',
],
[
- 'id' => 58572,
- 'title' => 'PrivateZone',
+ 'children' => ['DescribeCenPrivateZoneRoutes', 'UnroutePrivateZoneInCenToVpc', 'RoutePrivateZoneInCenToVpc'],
'type' => 'directory',
- 'children' => [
- 'DescribeCenPrivateZoneRoutes',
- 'UnroutePrivateZoneInCenToVpc',
- 'RoutePrivateZoneInCenToVpc',
- ],
+ 'title' => 'PrivateZone',
],
[
- 'id' => 58576,
- 'title' => 'Multicast',
- 'type' => 'directory',
'children' => [
[
- 'id' => 175782,
- 'title' => 'Multicast domains',
+ 'children' => ['CreateTransitRouterMulticastDomain', 'DeleteTransitRouterMulticastDomain', 'ModifyTransitRouterMulticastDomain', 'ListTransitRouterMulticastDomains', 'ListTransitRouterMulticastDomainAssociations', 'ListTransitRouterMulticastDomainVSwitches', 'AssociateTransitRouterMulticastDomain', 'DisassociateTransitRouterMulticastDomain'],
'type' => 'directory',
- 'children' => [
- 'CreateTransitRouterMulticastDomain',
- 'DeleteTransitRouterMulticastDomain',
- 'ModifyTransitRouterMulticastDomain',
- 'ListTransitRouterMulticastDomains',
- 'ListTransitRouterMulticastDomainAssociations',
- 'ListTransitRouterMulticastDomainVSwitches',
- 'AssociateTransitRouterMulticastDomain',
- 'DisassociateTransitRouterMulticastDomain',
- ],
+ 'title' => 'Multicast domains',
],
[
- 'id' => 175783,
- 'title' => 'Multicast sources and members',
+ 'children' => ['ListTransitRouterMulticastGroups', 'ListGrantVSwitchEnis', 'DeregisterTransitRouterMulticastGroupMembers', 'RegisterTransitRouterMulticastGroupSources', 'DeregisterTransitRouterMulticastGroupSources', 'RegisterTransitRouterMulticastGroupMembers'],
'type' => 'directory',
- 'children' => [
- 'ListTransitRouterMulticastGroups',
- 'ListGrantVSwitchEnis',
- 'DeregisterTransitRouterMulticastGroupMembers',
- 'RegisterTransitRouterMulticastGroupSources',
- 'DeregisterTransitRouterMulticastGroupSources',
- 'RegisterTransitRouterMulticastGroupMembers',
- ],
+ 'title' => 'Multicast sources and members',
],
],
- ],
- [
- 'id' => 174051,
- 'title' => 'Health check',
'type' => 'directory',
- 'children' => [
- 'DisableCenVbrHealthCheck',
- 'EnableCenVbrHealthCheck',
- 'DescribeCenVbrHealthCheck',
- ],
+ 'title' => 'Multicast',
],
[
- 'id' => 58556,
- 'title' => 'Flow logs',
+ 'children' => ['DisableCenVbrHealthCheck', 'EnableCenVbrHealthCheck', 'DescribeCenVbrHealthCheck'],
'type' => 'directory',
- 'children' => [
- 'CreateFlowlog',
- 'DeleteFlowlog',
- 'ModifyFlowLogAttribute',
- 'DescribeFlowlogs',
- 'ActiveFlowLog',
- 'DeactiveFlowLog',
- ],
+ 'title' => 'Health checks',
],
[
- 'id' => 58560,
- 'title' => 'Tag API',
+ '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',
- 'children' => [
- 'ListTagResources',
- 'TagResources',
- 'UntagResources',
- ],
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'CreateCen' => [
- 'summary' => 'Cloud Enterprise Network (CEN) instances are basic network resources that are used to manage interconnected networks. You can use a CEN instance to manage a network that covers one or multiple regions. Before you can connect network instances, you must first call the CreateCen operation to create a CEN instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => [],
@@ -381,723 +168,540 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72295',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- 'FEATUREcbnQOCCBE',
- ],
- 'tenantRelevance' => 'publicInformation',
+ '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 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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => '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 and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
- ],
- [
- 'name' => 'Description',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the CEN instance.'."\n"
- ."\n"
- .'The description can be empty or 1 to 256 characters in length and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ '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' => 'ProtectionLevel',
+ 'name' => 'FlowLogId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The level of CIDR block overlapping.'."\n"
- ."\n"
- .'Set the value to **REDUCED** (default). This value specifies that CIDR blocks can overlap but cannot be the same.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'REDUCED',
- ],
+ 'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'example' => 'flowlog-m5evbtbpt****', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'CenId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags.'."\n"
- ."\n"
- .'You can specify up to 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 up to 20 tag keys.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tagtest',
- ],
- '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 in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tagtest',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned results.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'CenId' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'cen-dc4vwznpwbobrl****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
- ],
+ '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' => 'IllegalParam.ResourceGroupId',
- 'errorMessage' => 'ResourceGroupId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidTagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CenId\\": \\"cen-dc4vwznpwbobrl****\\",\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCenResponse>\\n <CenId>cen-dc4vwznpwbobrl****</CenId>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</CreateCenResponse>","errorExample":""}]',
- 'title' => 'CreateCen',
- 'description' => '**CreateCen** is an asynchronous operation. After you 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 the task.'."\n"
+ ['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 CEN instance is in the **Creating** state, the CEN instance is being created. You can query the CEN instance but cannot perform other operations.'."\n"
- .'* If a CEN instance is in the **Active** state, the CEN instance is created.'."\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' => ' ',
- ],
- 'DeleteCen' => [
- 'summary' => 'Deletes a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
+ 'changeSet' => [
+ ['createdAt' => '2024-11-14T03:49:08.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-05-22T01:48:54.000Z', 'description' => 'Error codes changed'],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72315',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActiveFlowLog'],
],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'parameters' => [
+ 'ramActions' => [
[
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'headers' => [],
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03',
- ],
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cen:ActiveFlowLog',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
- 'description' => '',
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'OperationFailed.DeleteCenWithCustomRouteTable',
- 'errorMessage' => 'Operation failed because you are not allowed to delete the CEN with the custom transit router route table.',
- ],
- [
- 'errorCode' => 'OperationFailed.DeleteCenWithRouteEntry',
- 'errorMessage' => 'Operation failed because you are not allowed to delete the CEN with the transit router route entry.',
- ],
- [
- 'errorCode' => 'OperationFailed.MulticastDomainExist',
- 'errorMessage' => 'Operation is invalid because multicast domain exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.PrefixListAssociationExist',
- 'errorMessage' => 'Operation is invalid because prefixList association exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.AggregationRouteExist',
- 'errorMessage' => 'Operation is invalid because transit router aggregation route exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.TrafficMarkingPolicyExist',
- 'errorMessage' => 'Operation is invalid because transit router traffic marking policy exists.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.action',
- 'errorMessage' => 'This action is not support.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'OperationFailed.TrafficQosPolicyExist',
- 'errorMessage' => 'Operation is invalid because traffic qos policy exists.',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeCens',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5903EE99-D542-4E14-BC65-AAC1CB2D3D03\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCenResponse>\\n <RequestId>5903EE99-D542-4E14-BC65-AAC1CB2D3D03</RequestId>\\n</DeleteCenResponse>","errorExample":""}]',
- 'title' => 'DeleteCen',
- '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"
- .'* 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"
- .' * [DeleteTransitRouterVbrAttachment](~~261223~~)'."\n"
- .' * [DeleteTransitRouterVpnAttachment](~~443992~~)'."\n"
- .' * [DeleteTransitRouterPeerAttachment](~~261227~~)'."\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' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]',
],
- 'ModifyCenAttribute' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AddTrafficMatchRuleToTrafficMarkingPolicy' => [
+ 'summary' => 'Adds a traffic classification rule to a traffic marking policy.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '136121',
+ 'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ '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' => 'Name',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the CEN instance.'."\n"
- ."\n"
- .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter and cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ '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' => 'Description',
+ 'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the CEN instance.'."\n"
- ."\n"
- .'The description must be 2 to 256 characters in length. It must start with a letter or Chinese character and cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen',
- ],
+ 'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tm-u9nxup5kww5po8****'],
],
[
- 'name' => 'ProtectionLevel',
+ 'name' => 'TrafficMatchRules',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The level of CIDR block overlapping.'."\n"
+ 'description' => 'The traffic classification rules.'."\n"
."\n"
- .'Set the value to **REDUCED** (default). This value specifies that CIDR blocks can overlap but cannot be the same.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'REDUCED',
+ 'maxItems' => 50,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '13526224-5780-4426-8BDF-BC8B08700F22',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A'],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidOperation.EnhanceProtectionLevel',
- 'errorMessage' => 'Your request to enhance CBN protection level cannot be processed. Please contact customer support to continue this operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"13526224-5780-4426-8BDF-BC8B08700F22\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyCenAttributeResponse>\\n <RequestId>13526224-5780-4426-8BDF-BC8B08700F22</RequestId>\\n</ModifyCenAttributeResponse>","errorExample":""}]',
- 'title' => 'ModifyCenAttribute',
- 'summary' => '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 the **request ID** but the operation is still being performed in the system background. You can call **DescribeCens** to query the status of a CEN instance.'."\n"
- ."\n"
- .'* If a CEN instance is in the **Modifying** state, the CEN instance is being modified. You can query the CEN instance but cannot perform other operations.'."\n"
- .'* If a CEN instance is in the **Active** state, the CEN instance is modified.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","type":"json"}]',
],
- 'DescribeCens' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AddTraficMatchRuleToTrafficMarkingPolicy' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'operationType' => 'write',
+ 'deprecated' => true,
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ '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' => 'ResourceGroupId',
+ 'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the CEN instance belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm3unpnuw****',
- ],
+ 'schema' => ['description' => 'The ID of the traffic marking policy.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-u9nxup5kww5po8****', 'title' => ''],
],
[
- 'name' => 'Filter',
+ 'name' => 'TrafficMatchRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The filter conditions.'."\n"
+ 'description' => 'The information about the traffic classification rule.'."\n"
."\n"
- .'You can specify at most five filter conditions in each call.'."\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' => [
- 'Key' => [
- 'description' => 'The key of the filter. Valid values:'."\n"
+ '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"
- .'* **CenId**: the ID of a CEN instance.'."\n"
- .'* **Name**: the name of a CEN instance.'."\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"
- .'By default, the logical operator among filter conditions is **AND**. Information about a CEN instance is returned only if the CEN instance matches all filter conditions.'."\n"
+ .'You can specify at most two ports. Take note of the following rules:'."\n"
."\n"
- .'You can specify at most five filter conditions in each call.'."\n",
- 'type' => 'string',
+ .'* 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,
- 'example' => 'CenId',
+ 'maxItems' => 2,
+ 'title' => '',
],
- 'Value' => [
- 'description' => 'The value of the filter condition.'."\n"
+ '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"
- .'Specify a filter value based on the **Key** parameter. You can specify multiple values for a filter **key**. The logical operator among multiple filter values is **OR**. If a CEN instance matches one or more of the values that you specify, the CEN instance matches the filter condition.'."\n"
+ .'You can specify at most two ports. Take note of the following rules:'."\n"
."\n"
- .'You can specify at most five values in each filter condition.'."\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 value of the filter condition.'."\n"
- ."\n"
- .'Specify a filter value based on the **Key** parameter. You can specify multiple values for a filter **key**. The logical operator among multiple filter values is **OR**. If a CEN instance matches one or more of the values that you specify, the CEN instance matches the filter condition.'."\n"
- ."\n"
- .'You can specify at most five values in each filter condition.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-44m0p68spvlrqq****',
- ],
- 'required' => false,
- 'example' => 'cen-0xyeagctz5sfg9****',
- 'maxItems' => 5,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 5,
- ],
- ],
- [
- 'name' => 'Tag',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => '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 keys.'."\n"
+ 'items' => ['description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\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"
+ .'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 20 tag keys.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tagtest',
- ],
- 'Value' => [
- 'description' => 'The tag values.'."\n"
+ .'You can specify at most two ports. Take note of the following rules:'."\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"
+ .'* 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"
- .'Each tag key must have a unique tag value. You can specify at most 20 tag values in each call.'."\n",
- 'type' => 'string',
+ .'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'title' => ''],
'required' => false,
- 'example' => 'tagtest',
+ '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' => 20,
+ 'maxItems' => 50,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '2BFA6822-240E-4E27-B4C8-AA400EF7474D',
- ],
- 'PageNumber' => [
- 'description' => 'The number of the page returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Cens' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Cen' => [
- 'description' => 'The information about the CEN instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => 'The status of the CEN instance.'."\n"
- ."\n"
- .'* **Creating**'."\n"
- .'* **Active**'."\n"
- .'* **Deleting**'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'CreationTime' => [
- 'description' => 'The time when the CEN instance was created.'."\n"
- ."\n"
- .'The time follows the ISO8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2019-10-22T07:44Z',
- ],
- 'Ipv6Level' => [
- 'description' => 'Indicates whether IPv6 is enabled for the CEN instance.'."\n"
- ."\n"
- .'* **ENABLE**'."\n"
- .'* **DISABLED**'."\n",
- 'type' => 'string',
- 'example' => 'DISABLED',
- ],
- 'Description' => [
- 'description' => 'The description of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the CEN instance belongs.'."\n",
- 'type' => 'string',
- 'example' => 'rg-acfm3unpnuw****',
- ],
- 'CenId' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'cen-0xyeagctz5sfg9****',
- ],
- 'ProtectionLevel' => [
- 'description' => 'The level of CIDR block overlapping.'."\n"
- ."\n"
- .'**REDUCED**: Overlapped CIDR blocks are allowed. This value specifies that CIDR blocks can overlap but CIDR blocks cannot be duplicates.'."\n",
- 'type' => 'string',
- 'example' => 'REDUCED',
- ],
- 'Name' => [
- 'description' => 'The CEN instance name.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'Tags' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Tag' => [
- 'description' => 'The IDs of the tags that are added to the CEN instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'tagtest',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'tagtest',
- ],
- ],
- ],
- ],
- ],
- ],
- 'CenBandwidthPackageIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'CenBandwidthPackageId' => [
- 'description' => 'The IDs of the bandwidth plans that are associated with the CEN instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the bandwidth plans that are associated with the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cenbwp-4c2zaavbvh5f42****',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'InvalidTagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeCensResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>2BFA6822-240E-4E27-B4C8-AA400EF7474D</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <Cens>\\n <Cen>\\n <Status>Active</Status>\\n <ProtectionLevel>REDUCED</ProtectionLevel>\\n <ResourceGroupId>rg-acfm3unpnuw****</ResourceGroupId>\\n <Ipv6Level>DISABLED</Ipv6Level>\\n <CenId>cen-0xyeagctz5sfg9****</CenId>\\n <CreationTime>2019-10-22T07:44Z</CreationTime>\\n <CenBandwidthPackageIds>\\n </CenBandwidthPackageIds>\\n <Name>nametest</Name>\\n </Cen>\\n </Cens>\\n</DescribeCensResponse>","errorExample":""}]',
- 'title' => 'DescribeCens',
- 'summary' => 'Queries the information about your Cloud Enterprise Network (CEN) instances.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeGrantRulesToResource' => [
- 'summary' => 'Queries the information about the permissions that the Alibaba Cloud account of a network instance granted to a Cloud Enterprise Network (CEN) instance in a different Alibaba Cloud account, the ID of the CEN instance, and the Alibaba Cloud account that pays the fees of the network instance.',
- 'methods' => [
- 'get',
- 'post',
+ 'staticInfo' => [
+ 'substitutions' => ['Cbn::2017-09-12::AddTrafficMatchRuleToTrafficMarkingPolicy'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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":"<AddTraficMatchRuleToTrafficMarkingPolicyResponse>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n</AddTraficMatchRuleToTrafficMarkingPolicyResponse>","errorExample":""}]',
+ ],
+ 'AssociateCenBandwidthPackage' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1105,199 +709,191 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '154918',
- 'abilityTreeNodes' => [
- 'FEATUREcbnOQ547T',
- ],
- ],
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'CenId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ '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' => [
- 'description' => 'The network instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-p0wfut1iqauelpdpb****',
+ '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' => [
[
- 'name' => 'ProductType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: virtual private cloud (VPC)'."\n"
- .'* **ExpressConnect**: virtual border router (VBR)'."\n"
- .'* **VPN**: IPsec-VPN connection'."\n"
- .'* **ECR**: Express Connect Router (ECR)'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VPC',
- 'enum' => [
- 'ExpressConnect',
- 'VPC',
- 'VPN',
- 'ECR',
+ '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' => [
[
- 'name' => 'MaxResults',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create'],
+ 'parameters' => [
+ [
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => '* If you do not specify a value for **MaxResults**, entries are returned in one response. After you send the request, the value of **MaxResults** includes all entries.'."\n"
- .'* If you specify a value for **MaxResults**, entries are returned in batches. The value of **MaxResults** indicates the total number of entries returned per batch. Valid values: **1** to **100**. After you send the request, the value of **MaxResults** indicates the number of entries returned in the current response. We recommend that you set **MaxResults** to **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100',
- 'minimum' => '0',
- 'example' => '20',
- 'default' => '20',
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'TransitRouterRouteTableId',
'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 the **NextToken** parameter.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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' => [
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If the **NextToken** parameter 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.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'C6E5992C-A57B-5A6C-9B26-568074DC68BA',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => '* If no value is specified for **MaxResults**, query results are returned in one batch. The value of **MaxResults** indicates the total number of entries.'."\n"
- .'* If a value is specified for **MaxResults**, query results are returned in batches. The value of **MaxResults** in the response indicates the number of entries in the current batch.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'GrantRules' => [
- 'description' => 'The permissions that are granted to the CEN instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'CenOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1250123456123456',
- ],
- 'OrderType' => [
- 'description' => 'The entity that pays the fees of the network instance. Valid values: Valid values:'."\n"
- ."\n"
- .'* **PayByCenOwner**: The fees of the connections and data forwarding on the transit router are paid by the Alibaba Cloud account to which the CEN instance belongs.'."\n"
- .'* **PayByResourceOwner**: The fees of the connections and data forwarding on the transit router are paid by the Alibaba Cloud account to which the network instance belongs.'."\n",
- 'type' => 'string',
- 'example' => 'PayByCenOwner',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-44m0p68spvlrqq****',
- ],
- 'CreateTime' => [
- 'description' => 'The timestamp when the permissions were granted. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2024-01-24T16:46Z',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter. ',
- ],
- [
- 'errorCode' => 'MissingParameter ',
- 'errorMessage' => 'Missing parameter.',
- ],
- [
- 'errorCode' => 'InvalidParameter.RegionId',
- 'errorMessage' => 'The specified Region Id is invalid.',
- ],
- [
- 'errorCode' => 'MissingParameter.RegionId',
- 'errorMessage' => 'Missing RegionId parameter.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'NextToken is illegal',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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 \\"CenId\\": \\"cen-44m0p68spvlrqq****\\",\\n \\"CreateTime\\": \\"2024-01-24T16:46Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeGrantRulesToResourceResponse>\\n <RequestId>C6E5992C-A57B-5A6C-9B26-568074DC68BA</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>1</MaxResults>\\n <GrantRules>\\n <CenOwnerId>1250123456123456</CenOwnerId>\\n <OrderType>PayByCenOwner</OrderType>\\n <CenId>cen-44m0p68spvlrqq****</CenId>\\n </GrantRules>\\n</DescribeGrantRulesToResourceResponse>","errorExample":""}]',
- 'title' => 'DescribeGrantRulesToResource',
- ],
- 'MoveResourceGroup' => [
- 'summary' => 'Moves a Cloud Enterprise Network (CEN) instance or a bandwidth plan to another resource group.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -1309,664 +905,343 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72414',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ '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 ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\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' => '123e456****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TransitRouterMulticastDomainId',
'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:** performs a dry run and sends the request.',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
- 'name' => 'NewResourceGroupId',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group to which you want to move the CEN instance or bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'rg-aekzqqurtfg****',
- ],
+ 'schema' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-g3kz2k3u76amsk****', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'VSwitchIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The type of the resource. Valid values:'."\n"
+ 'description' => 'The IDs of vSwitches.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The vSwitch IDs.'."\n"
."\n"
- .'* **CEN**: CEN instance'."\n"
- .'* **bandwidthpackage**: bandwidth plan'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'cen',
+ 'maxItems' => 1000,
+ 'title' => '',
],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-nye53d7p3hzyu4****',
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
+ 'title' => 'PlainResponse<String>',
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '1D169236-7C76-57CF-B6C8-B4CACE0BA1BB',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F88AC12C-943B-50E9-A344-4F8820BB07A7', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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'],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.ResourceGroup',
- 'errorMessage' => 'The operation cannot be performed on the specified ResourceGroup.',
+ '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}'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1D169236-7C76-57CF-B6C8-B4CACE0BA1BB\\"\\n}","errorExample":""},{"type":"xml","example":"<MoveResourceGroupResponse>\\n <RequestId>1D169236-7C76-57CF-B6C8-B4CACE0BA1BB</RequestId>\\n</MoveResourceGroupResponse>","errorExample":""}]',
- 'title' => 'MoveResourceGroup',
- 'description' => 'By default, CEN instances and bandwidth plans are in the default resource group. You can call the `MoveResourceGroup` operation to move CEN instances or bandwidth plans to another resource group.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F88AC12C-943B-50E9-A344-4F8820BB07A7\\"\\n}","type":"json"}]',
],
- 'CreateTransitRouter' => [
- 'summary' => 'Creates an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AttachCenChildInstance' => [
+ 'summary' => 'Attaches a network instance to a Cloud Enterprise Network (CEN) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72305',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '72288',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\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, the system automatically uses **RequestId** as **ClientToken**. The value of **RequestId** of each API request is different.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
- ],
- [
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
[
- '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-zhangjiakou',
- ],
- ],
- [
- 'name' => 'TransitRouterName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the Enterprise Edition transit router.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
- ],
- [
- 'name' => 'TransitRouterDescription',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the Enterprise Edition transit router instance.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ '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' => 'DryRun',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to check the request without performing the operation. Check items include permissions and the status of the specified cloud resources. Valid values:'."\n"
- ."\n"
- .'* **false** (default): sends the request. If the request passes the check, an Enterprise Edition transit router is created.'."\n"
- .'* **true**: checks the request but does not create the Enterprise Edition transit router. If you use this value, the system checks whether the required parameters are set, and whether the request syntax is valid. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'SupportMulticast',
+ 'name' => 'ChildInstanceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable the multicast feature for the Enterprise Edition transit router. Valid values:'."\n"
- ."\n"
- .'* **false** (default): no'."\n"
- .'* **true**: yes'."\n"
- ."\n"
- .'The multicast feature is supported only in specific regions. You can call [ListTransitRouterAvailableResource](~~261356~~) to query the regions that support multicast.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'TransitRouterCidrList',
+ 'name' => 'ChildInstanceRegionId',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The CIDR blocks to be added to the transit router.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The CIDR blocks to be added to the transit router.'."\n"
- ."\n"
- .'You can specify at most five CIDR blocks in each call. 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.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Cidr' => [
- 'description' => 'The CIDR block of the transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.10.0/24',
- ],
- 'Name' => [
- 'description' => 'The name of the transit router CIDR block.'."\n"
- ."\n"
- .'The name must be 1 to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
- 'Description' => [
- 'description' => 'The description of the transit router CIDR block.'."\n"
- ."\n"
- .'The description must be 1 to 256 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
- 'PublishCidrRoute' => [
- 'description' => 'Specifies whether to allow the system to automatically add a route that points to the CIDR block to the route table of the transit router.'."\n"
- ."\n"
- .'* **true** (default)'."\n"
- ."\n"
- .' If you set the value to true, after you create a VPN attachment on a private VPN gateway and enable route learning for the VPN attachment, the system automatically adds the following route to the route table of the transit router that is in route learning relationship with the VPN attachment:'."\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.'."\n"
- ."\n"
- .' The blackhole route is advertised only to the route tables of virtual border routers (VBRs) connected to the transit router.'."\n"
- ."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'True',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ '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' => 'Tag',
+ 'name' => 'ChildInstanceOwnerId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tags.'."\n"
- ."\n"
- .'You can specify at most 20 tags.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n"
- ."\n"
- .'The tag keys 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' => 'tagtest',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n"
- ."\n"
- .'The tag value can be an empty string or 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',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'TransitRouterId' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-uf6llz2286805i44g****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '404DA7EC-F495-44B5-B543-6EDCDF90F3D1',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationUnsupported.RegionId',
- 'errorMessage' => 'The specified Region is not supported.',
- ],
- [
- 'errorCode' => 'InstanceExist.TransitRouterInstance',
- 'errorMessage' => 'The instance already exists.',
- ],
- [
- 'errorCode' => 'Forbbiden.TransitRouterServiceNotOpen',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.SupportMulticast',
- 'errorMessage' => 'The multicast is not supported in the specified region.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CenFullLevel',
- 'errorMessage' => 'CEN full level does not support TransitRouter.',
- ],
- [
- 'errorCode' => 'IllegalParam.Cidr',
- 'errorMessage' => 'Cidr is illegal.',
- ],
- [
- 'errorCode' => 'Illegal.TrType',
- 'errorMessage' => 'The TransitRouter type is illegal.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterCidrList',
- 'errorMessage' => 'The TransitRouterCidrList is not support in the specified Region.',
- ],
- [
- 'errorCode' => 'OperationFailed.CidrConflict',
- 'errorMessage' => 'Operation is invalid because the cidr conflict.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified region is invalid.',
- ],
- [
- 'errorCode' => 'OverLappingExist.Cidr',
- 'errorMessage' => 'The cidr overlapping exist.',
- ],
- [
- 'errorCode' => 'IllegalParam.ServiceMode',
- 'errorMessage' => 'The specified ServiceMode is invalid.',
- ],
- [
- 'errorCode' => 'ParamExclusive.ServiceModeAndSupportMulticast',
- 'errorMessage' => 'ServiceMode and SupportMulticast is mutually exclusive.',
- ],
- [
- 'errorCode' => 'ParamExclusive.ServiceModeAndTransitRouterCidrList',
- 'errorMessage' => 'ServiceMode and TransitRouterCidrList is mutually exclusive.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.Tag',
- 'errorMessage' => 'The Tag is not supported in the specified region.',
- ],
- [
- 'errorCode' => 'IllegalParam.SupportMulticast',
- 'errorMessage' => 'Basic Transit router is not support multicast.',
- ],
- [
- 'errorCode' => 'ParamExclusive.BasicAndPrimaryStandby',
- 'errorMessage' => 'Basic and PrimaryStandby is mutually exclusive.',
- ],
- [
- 'errorCode' => 'ParamExclusive.BasicAndMultiPrimary',
- 'errorMessage' => 'Basic and MultiPrimary is mutually exclusive.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'The Specified Parameter RegionId is illegal.',
- ],
- [
- 'errorCode' => 'OperationFailed.PostPay95BwpNotAllowEnterpriseTr',
- 'errorMessage' => 'Cbn with post pay 95 bandwidth package does not allow enterprise tr.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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::ListTransitRouters',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterId\\": \\"tr-uf6llz2286805i44g****\\",\\n \\"RequestId\\": \\"404DA7EC-F495-44B5-B543-6EDCDF90F3D1\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterResponse>\\n <TransitRouterId>tr-uf6llz2286805i44g****</TransitRouterId>\\n <RequestId>404DA7EC-F495-44B5-B543-6EDCDF90F3D1</RequestId>\\n</CreateTransitRouterResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouter',
- 'description' => '* You can call **CreateTransitRouter** to create an Enterprise Edition transit router. For more information about the regions that support Enterprise Edition transit routers, see [What is CEN?](~~181681~~)'."\n"
- ."\n"
- .'* **CreateTransitRouter** is an asynchronous operation. After you send a request, the transit router ID is returned but the operation is still being performed in the system background. You can call [ListTransitRouters](~~261219~~) to query the status of an Enterprise Edition transit router.'."\n"
+ '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"
- .' * If an Enterprise Edition transit router is in the **Creating** state, the Enterprise Edition transit router is being created. In this case, you can query the Enterprise Edition transit router but cannot perform other operations.'."\n"
- .' * If an Enterprise Edition transit router is in the **Active** state, the Enterprise Edition transit router is created.',
+ .'- 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' => ' ',
- ],
- 'DeleteTransitRouter' => [
- 'summary' => 'Deletes a transit router.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72326',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ '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 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-uf654ttymmljlvh2x****',
- ],
+ '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 => [
- 'headers' => [],
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6DE3EE92-39C8-4BBD-A3AD-F568D74741BB',
- ],
+ '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' => 'OperationFailed.DeleteTransitRouter',
- 'errorMessage' => 'Operation failed because TransitRouterRouteTable or TransitRouterRouteEntry or BandwidthTransitRegion exists.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'OperationFailed.CCNAttached',
- 'errorMessage' => 'Can not delete transit router because CCN still attached.',
- ],
- [
- 'errorCode' => 'OperationFailed.BandwidthLimitExist',
- 'errorMessage' => 'Operation is invalid because a bandwidth limit exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.CenInstance',
- 'errorMessage' => 'The status of CenInstance is incorrect.',
- ],
- [
- 'errorCode' => 'OperationFailed.TrafficMarkingPolicyExist',
- 'errorMessage' => 'Operation is invalid because traffic marking policy exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.MulticastDomainExist',
- 'errorMessage' => 'Operation is invalid because multicast domain exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.PrefixListExist',
- 'errorMessage' => 'Operation is invalid because prefix list exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.TrafficQosPolicyExist',
- 'errorMessage' => 'Operation is invalid because traffic qos policy exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.CloudRouteExist',
- 'errorMessage' => 'Operation is invalid because cloud route exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.FlowLogExistOrNisOpened',
- 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.',
- ],
- [
- 'errorCode' => 'OperationFailed.AggregationRouteExist',
- 'errorMessage' => 'Operation failed because TransitRouterRouteAggregation exists.',
- ],
- [
- 'errorCode' => 'InvalidOperation.BondVbrExist',
- 'errorMessage' => 'The operation failed due to BondVbr exists.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterInstance.NotFound',
- 'errorMessage' => 'The Transit Router instance is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.FlowLogExist',
- 'errorMessage' => 'Flow log configurations exist. Delete the flow log configurations and retry the operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidOperation.RelatedEcrExists',
- 'errorMessage' => 'Operation is invalid due to related ECR exists.',
- ],
+ ['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' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouters',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
+ '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'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DE3EE92-39C8-4BBD-A3AD-F568D74741BB\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterResponse>\\n <RequestId>6DE3EE92-39C8-4BBD-A3AD-F568D74741BB</RequestId>\\n</DeleteTransitRouterResponse>","errorExample":""}]',
- '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"
- ."\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' => ' ',
- ],
- 'UpdateTransitRouter' => [
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckTransitRouterService'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -1975,691 +1250,352 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72295',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F', 'FEATUREcbnQOCCBE'],
+ '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 token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => '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. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\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 system returns the ID of the request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'RegionId',
+ 'name' => 'Name',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the transit router.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-shanghai',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The transit router ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-uf654ttymmljlvh2x****',
- ],
+ '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' => 'TransitRouterName',
+ 'name' => 'ProtectionLevel',
'in' => 'query',
- 'schema' => [
- 'description' => 'The transit router name.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'TransitRouterDescription',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The description of the transit router.'."\n"
+ 'description' => 'The tag information.'."\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.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'testdesc',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'E9963DD7-998B-4F92-892D-8293CB49EE81',
- ],
+ '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' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationUnsupported.RegionId',
- 'errorMessage' => 'The specified region ID is not supported.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E9963DD7-998B-4F92-892D-8293CB49EE81\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTransitRouterResponse>\\n <RequestId>E9963DD7-998B-4F92-892D-8293CB49EE81</RequestId>\\n</UpdateTransitRouterResponse>","errorExample":""}]',
- 'title' => 'UpdateTransitRouter',
- 'summary' => 'Modifies the name and description of a transit router.',
- 'description' => '**UpdateTransitRouter** 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 **ListTransitRouters** operation to query the status of a transit router.'."\n"
+ '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 transit router is in the **Modifying** state, the configuration of the transit router is being modified. You can query the transit router but cannot perform other operations.'."\n"
- .'* If a transit router is in the **Active** state, the configuration of the transit router is modified.'."\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' => ' ',
- ],
- 'ListTransitRouters' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '75161',
+ 'abilityTreeNodes' => ['FEATUREcbn7IORX8'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'Name',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ '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' => 'CenId',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'Bandwidth',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-uf654ttymmljlvh2x****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'GeographicRegionAId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'Tag',
+ 'name' => 'GeographicRegionBId',
'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' => 'The information about the tags.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n"
- ."\n"
- .'The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot 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',
- ],
- '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',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => 'Status',
+ 'name' => 'BandwidthPackageChargeType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The status of the transit router. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The transit router is being created.'."\n"
- .'* **Active**: The transit router is available.'."\n"
- .'* **Modifying**: The transit router is being modified'."\n"
- .'* **Deleting**: The transit router is being deleted.'."\n"
- .'* **Upgrading**: The transit router is being upgraded.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
+ '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' => 'Type',
+ 'name' => 'Period',
'in' => 'query',
- 'schema' => [
- 'description' => 'The edition of the transit router. Valid values:'."\n"
- ."\n"
- .'* **Enterprise**: Enhance Edition'."\n"
- .'* **Basic**: Basic Edition'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enterprise',
- ],
+ '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' => 'TransitRouterName',
+ 'name' => 'PricingCycle',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the Enterprise Edition transit router.'."\n"
- ."\n"
- .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'FeatureFilter',
+ '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 field that is used to enable or disable a feature of the transit router.'."\n",
+ 'description' => 'The tags.'."\n"
+ ."\n"
+ .'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
- 'description' => 'The field that is used to enable or disable a feature of the transit router.'."\n",
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The value of the field that is used to enable or disable a feature of the transit router. Supported fields:'."\n"
- ."\n"
- .'* **Multicast**: the multicast feature.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Multicast',
- ],
- 'Value' => [
- 'description' => 'The fields that are used to enable or disable the features of the transit router. The **Multicast** field supports only one value. Valid values:'."\n"
- ."\n"
- .'* **Enabled**: enables multicast.'."\n"
- .'* **Disabled**: disables multicast.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The field that is used to enable or disable a feature of the transit router. Valid values of the **Multicast** field:'."\n"
- ."\n"
- .'* **Enabled**: enables multicast.'."\n"
- .'* **Disabled**: disables multicast.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enabled',
- ],
- 'required' => false,
- 'maxItems' => 1,
- ],
+ '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' => 1,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '68521297-5FA6-46CB-B4EB-658F1C68C8CC',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TransitRouters' => [
- 'description' => 'A list of transit routers.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the transfer router.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'CreationTime' => [
- 'description' => 'The time when the transit router was created.'."\n"
- ."\n"
- .'The time follows the ISO8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2021-03-15T09:39Z',
- ],
- 'Type' => [
- 'description' => 'The edition of the transit router. Valid values:'."\n"
- ."\n"
- .'* **Enterprise**: Enhance Edition'."\n"
- .'* **Basic**: Basic Edition'."\n",
- 'type' => 'string',
- 'example' => 'Enterprise',
- ],
- 'Status' => [
- 'description' => 'The status of the transit router. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The transit router is being created.'."\n"
- .'* **Active**: The transit router is available.'."\n"
- .'* **Modifying**: The transit router is being modified'."\n"
- .'* **Deleting**: The transit router is being deleted.'."\n"
- .'* **Upgrading**: The transit router is being upgraded.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
- 'TransitRouterDescription' => [
- 'description' => 'The description of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'testdesc',
- ],
- 'TransitRouterName' => [
- 'description' => 'The name of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'testname',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
- 'AliUid' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1210123456123456',
- ],
- 'RegionId' => [
- 'description' => 'The ID of the region where the transit router is deployed.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'SupportMulticast' => [
- 'description' => 'Indicates whether multicast is enabled for the transit router. Valid values:'."\n"
- ."\n"
- .'* **true**: enabled'."\n"
- .'* **false**: disabled'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'TransitRouterCidrList' => [
- 'description' => 'The CIDR blocks of the transit router.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The CIDR block of the transit router.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Cidr' => [
- 'description' => 'The CIDR block of the transit router.'."\n",
- 'type' => 'string',
- 'example' => '192.168.1.0/24',
- ],
- 'Name' => [
- 'description' => 'The name of the CIDR block.'."\n",
- 'type' => 'string',
- 'example' => 'CIDRname',
- ],
- 'Description' => [
- 'description' => 'The description of the CIDR block.'."\n",
- 'type' => 'string',
- 'example' => 'CIDRdesc',
- ],
- 'TransitRouterCidrId' => [
- 'description' => 'The ID of the CIDR block.'."\n",
- 'type' => 'string',
- 'example' => 'cidr-46p5ceg21e8152****',
- ],
- '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**: yes'."\n"
- ."\n"
- .' A value of **true** indicates that after you create a private VPN connection and create a route learning correlation for the private VPC connection, the system automatically adds the following route to the route table of the transit router that is in route learning correlation with the private VPN connection: 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 gateway IP addresses are allocated to IPsec-VPN connections. '."\n"
- .' '."\n"
- .' The blackhole route is advertised only to the route tables of virtual border routers (VBRs) that are connected to the transit router. '."\n"
- ."\n"
- .'- **false**: no',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- ],
- ],
- ],
- 'Tags' => [
- 'description' => 'A list of tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the tags.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'TagKey',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'TagValue',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ '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' => 'InvalidParameterCombination.TransitRouter',
- 'errorMessage' => 'Region ID is required if no TransitRouterId or CenId specified.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UnsupportFilterValue',
- 'errorMessage' => 'The specified FeatureFilter Value is not supported by this operation.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UnsupportFilter',
- 'errorMessage' => 'The specified FeatureFilter is not supported by this operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRoutersResponse>\\n <PageSize>10</PageSize>\\n <RequestId>68521297-5FA6-46CB-B4EB-658F1C68C8CC</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <TransitRouters>\\n <CreationTime>2021-03-15T09:39Z</CreationTime>\\n <Type>Enterprise</Type>\\n <Status>Active</Status>\\n <TransitRouterId>tr-bp1su1ytdxtataupl****</TransitRouterId>\\n <TransitRouterDescription>testdesc</TransitRouterDescription>\\n <TransitRouterName>testname</TransitRouterName>\\n <CenId>cen-j3jzhw1zpau2km****</CenId>\\n <AliUid>1210123456123456</AliUid>\\n <RegionId>ap-southeast-2</RegionId>\\n <SupportMulticast>false</SupportMulticast>\\n <TransitRouterCidrList>\\n <Cidr>192.168.1.0/24</Cidr>\\n <Name>CIDRname</Name>\\n <Description>CIDRdesc</Description>\\n <TransitRouterCidrId>cidr-46p5ceg21e8152****</TransitRouterCidrId>\\n <PublishCidrRoute>true</PublishCidrRoute>\\n </TransitRouterCidrList>\\n </TransitRouters>\\n</ListTransitRoutersResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouters',
- 'summary' => 'Queries the information about transit routers that are connected to a Cloud Enterprise Network (CEN) instance.',
- 'description' => 'You can set the **RegionId** and **TransitRouterId** parameters based on your requirements.'."\n"
+ '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"
- .'* If you do not set **RegionId** or **TransitRouterId**, the system queries all transit routers that are connected to the specified CEN instance.'."\n"
- .'* If you set only **RegionId**, the system queries transit routers that are deployed in the specified region.'."\n"
- .'* If you set only **TransitRouterId**, the system queries the specified transit router.'."\n"
- .'* If you set both **RegionId** and **TransitRouterId**, the system queries the specified transit router in the specified region.'."\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' => ' ',
- ],
- 'ListTransitRouterAvailableResource' => [
- 'summary' => 'Queries the zones that support Enterprise Edition transit routers in a region.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ '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'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCenBandwidthPackage'],
],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the Enterprise Edition transit router.'."\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',
- ],
- ],
- [
- 'name' => 'SupportMulticast',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to query only the zones in which the multicast feature is supported. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- ."\n"
- .' After you call **ListTransitRouterAvailableResource**, if no zone is returned, it indicates that the Enterprise Edition transit router does not support the multicast feature.'."\n"
- ."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'description' => 'The response parameters.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'B4F480E0-4E76-5E43-9966-8322C28A158A',
- ],
- 'SlaveZones' => [
- 'description' => 'A list of secondary zone IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'A list of secondary zone IDs.'."\n"
- ."\n"
- .'You can call [DescribeZones](~~36064~~) to query zones by ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou-h',
- ],
- ],
- 'MasterZones' => [
- 'description' => 'A list of primary zones.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the primary zone.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou-h',
- ],
- ],
- 'AvailableZones' => [
- 'description' => 'A list of zone IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The zone ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou-i',
- ],
- ],
- 'SupportMulticast' => [
- 'description' => 'Indicates whether the zone supports the multicast feature.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cen:CreateCenBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/*'],
],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterAvailableResourceResponse>\\n <SlaveZones>ap-southeast-2b</SlaveZones>\\n <SlaveZones>ap-southeast-2a</SlaveZones>\\n <RequestId>B4F480E0-4E76-5E43-9966-8322C28A158A</RequestId>\\n <MasterZones>ap-southeast-2b</MasterZones>\\n <AvailableZones>ap-southeast-2b</AvailableZones>\\n <AvailableZones>ap-southeast-2a</AvailableZones>\\n</ListTransitRouterAvailableResourceResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterAvailableResource',
- 'description' => '* You can call the **ListTransitRouterAvailableResource** operation to query the zones that support Enterprise Edition transit routers in a specified region.'."\n"
- ."\n"
- .' * If you do not set **SupportMulticast** to **true**, general-purpose zones that support Enterprise Edition transit routers are queried.'."\n"
- .' * If you set **SupportMulticast** to **true**, zones in which Enterprise Edition transit routers support multicast are queried.'."\n"
- ."\n"
- .'* On May 31, 2022, VPC-connected Enterprise Edition transit routers were optimized. Optimized Enterprise Edition transit routers do not require you to specify the primary and secondary zones when you connect VPCs to the Enterprise Edition transit routers. You can specify one or more zones.'."\n"
- ."\n"
- .' * If your Enterprise Edition transit router has not been optimized, you must specify the primary and secondary zones when you connect a VPC to your Enterprise Edition transit router. After you call **ListTransitRouterAvailableResource**, you can call **MasterZones** and **SlaveZones** to query the primary and secondary zones.'."\n"
- .' * If your Enterprise Edition transit router has been optimized, you can specify a zone as needed when you connect a VPC to your Enterprise Edition transit router. After you call **ListTransitRouterAvailableResource**, you can call **AvailableZones** to query the zones.'."\n"
- ."\n"
- .'For more information about the optimization, see [Announcement: Optimization on VPC-connected Enterprise Edition transit routers](~~434191~~).'."\n",
],
- 'OpenTransitRouterService' => [
- 'summary' => 'Activates the transit router feature.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => [],
@@ -2667,428 +1603,119 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '85448',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
- 'tenantRelevance' => 'publicInformation',
- ],
+ '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 value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'description' => 'The response.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'OrderId' => [
- 'description' => 'The ID of the order.'."\n",
- 'type' => 'string',
- 'example' => '21370700730****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '866DEBE1-6411-51EC-80D8-975349B9FB4A',
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'Risk.RiskControlRejection',
- 'errorMessage' => '为保护您的账户安全,下单被中止,详情请联系客服。',
- ],
- [
- 'errorCode' => 'Order.Opened',
- 'errorMessage' => '您已开通本服务,请前往控制台使用。',
- ],
- [
- 'errorCode' => 'OperationFailed.NoAvailablePaymentMethod',
- 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method.',
- ],
- [
- 'errorCode' => 'OperationFailed.BasicInfoUncompleted',
- 'errorMessage' => 'Your information is incomplete. Complete your information before the operation.',
- ],
- [
- 'errorCode' => 'PayFor.CreditPayInsufficientBalance',
- 'errorMessage' => '额度不足,请联系您的渠道合作伙伴提升额度。',
- ],
- [
- 'errorCode' => 'NoPermission.AliyunServiceRoleForCEN',
- 'errorMessage' => 'No permission to open AliyunServiceRole for CEN.',
- ],
- [
- 'errorCode' => 'OperationFailed.PurchaseQuantityLimit',
- 'errorMessage' => 'You have exceeded the maximum quantity you can purchase.',
- ],
- [
- 'errorCode' => 'OperationFailed.QuotaNotEnough',
- 'errorMessage' => 'The quota is not enough.',
- ],
- [
- 'errorCode' => 'OperationFailed.ConcurrentOperation',
- 'errorMessage' => 'The operation failed caused by concurrent operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.Risk',
- 'errorMessage' => '系统检测到您的支付方式存在风险,请通过邮件或站内信中的链接完成验证。验证完成后重新下单。',
- ],
- [
- 'errorCode' => 'OperationFailed.UseStoredCardFailed',
- 'errorMessage' => 'Operation failed because use stored card failed.',
- ],
- [
- 'errorCode' => 'PayFor.AccountMoneyValidateError',
- 'errorMessage' => '账号可用金额不足.',
- ],
- [
- 'errorCode' => 'EntityNotExist.Account',
- 'errorMessage' => 'The role not exists: AliyunServiceRoleForCEN.',
- ],
- [
- 'errorCode' => 'OperationFailed.InsufficientAvailableQuota',
- 'errorMessage' => 'Operation failed due to the account quota is insufficient.',
- ],
- [
- 'errorCode' => 'OperationFailed.NoRealNameAuthentication',
- 'errorMessage' => 'No real-name authentication was applied.',
- ],
- [
- 'errorCode' => 'OperationFailed.ContainsForbiddenLabel',
- 'errorMessage' => 'You cannot place the order because orders are prohibited by a label.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": \\"21370700730****\\",\\n \\"RequestId\\": \\"866DEBE1-6411-51EC-80D8-975349B9FB4A\\"\\n}","type":"json"}]',
- '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).',
- ],
- 'CheckTransitRouterService' => [
- 'summary' => 'Queries whether your Alibaba Cloud account has the transit router feature activated.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '85449',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
+ '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' => ''],
],
- 'tenantRelevance' => 'publicInformation',
- ],
- 'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'DryRun',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => ''],
],
- ],
- '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.'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '5D93C8B9-C354-5C3E-BEFB-BA8A2C314D68',
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'USER_NOT_OPEN_TR_SERVICE',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Enabled\\": \\"true\\",\\n \\"RequestId\\": \\"5D93C8B9-C354-5C3E-BEFB-BA8A2C314D68\\"\\n}","errorExample":""},{"type":"xml","example":"<CheckTransitRouterServiceResponse>\\n <Enabled>true</Enabled>\\n <RequestId>5D93C8B9-C354-5C3E-BEFB-BA8A2C314D68</RequestId>\\n</CheckTransitRouterServiceResponse>","errorExample":""}]',
- 'title' => 'CheckTransitRouterService',
- ],
- '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-44m0p68spvlrqq****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-bp1n6cbxcszp55vxo****', 'title' => ''],
],
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
- ],
- [
- 'name' => 'InstanceType',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **ExpressConnect**: VBR'."\n"
- .'* **VPN**: IPsec-VPN connection'."\n"
- .'* **ECR**: ECR'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r1qhupkc19iadz****', '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'CenOwnerId',
+ 'name' => 'RouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1250123456123456',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vrt-bp1msipdczo9lejup****', 'title' => ''],
],
[
- 'name' => 'OrderType',
+ 'name' => 'DestinationCidrBlock',
'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"
- .'* **PayByResourceOwner**: the Alibaba Cloud account that owns the network instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PayByCenOwner',
- 'default' => 'PayByCenOwner',
- 'enum' => [
- 'PayByCenOwner',
- 'PayByResourceOwner',
- ],
- ],
+ '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.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'C6E5992C-A57B-5A6C-9B26-568074DC68BA',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A95A100B-3F3A-56F4-A5DE-19DB7E994807', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'Forbbiden.TransitRouterServiceNotOpen',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- '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.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is invalid.',
- ],
- [
- 'errorCode' => 'OperationFailed.TaskConflict',
- 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.',
- ],
- [
- 'errorCode' => 'InvalidVbr.NotFound',
- 'errorMessage' => 'vbr is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.GrantCrossAccountExist',
- 'errorMessage' => 'Cross-account authorization already exists.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'Forbidden.OperateShareResource',
- 'errorMessage' => 'You cannot operate shared resources.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => 'InvalidInstanceId.NotFound ',
- 'errorMessage' => 'InstanceId is not found.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C6E5992C-A57B-5A6C-9B26-568074DC68BA\\"\\n}","type":"json"}]',
- '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"
+ '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"
- .' Before you grant a transit router permissions on a VBR, contact your account manager to acquire permissions on the VBR.'."\n"
+ .'- The next hop of the route is the **transit router connection** (the network instance connection) by default and cannot be modified.'."\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"
+ .'- **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 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"
+ .' - 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 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~~).'."\n",
- ],
- 'RevokeInstanceFromTransitRouter' => [
- 'methods' => [
- 'post',
- 'get',
+ .' - 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -3096,1087 +1723,1187 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance to which the transit router belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-44m0p68spvlrqq****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7febra5nqj7jjh****', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The network instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-k1alm2jbuwibhxtx2****', 'title' => ''],
],
[
- 'name' => 'InstanceType',
+ 'name' => 'ChildInstanceType',
'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'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
+ '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' => 'RegionId',
+ 'name' => 'ChildInstanceRegionId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'CenOwnerId',
+ 'name' => 'ChildInstanceAliUid',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1250123456123456',
- ],
+ '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' => [
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'AA4BFFD1-5090-5896-935F-4B353557F1A8',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '437ED236-BE47-5370-8695-15C58C7A8014', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IncorrectStatus.Cen',
- 'errorMessage' => 'The status of Cen is incorrect.',
- ],
- [
- 'errorCode' => 'OperationDenied.AttachmentExist',
- 'errorMessage' => 'Operation is not allowed because the specified instance has already been attached to CEN.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AA4BFFD1-5090-5896-935F-4B353557F1A8\\"\\n}","errorExample":""},{"type":"xml","example":"<RevokeInstanceFromTransitRouterResponse>\\n <RequestId>AA4BFFD1-5090-5896-935F-4B353557F1A8</RequestId>\\n</RevokeInstanceFromTransitRouterResponse>","errorExample":""}]',
- '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"
+ 'title' => 'CreateCenChildInstanceRouteEntryToCen',
+ 'summary' => 'Adds routes to a network instance.',
+ 'description' => '## Limits'."\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~~).'."\n",
- ],
- 'CreateTransitRouterCidr' => [
- 'summary' => 'Creates a custom CIDR block for a transit router. Custom CIDR blocks of a transit router are similar to the CIDR blocks of the loopback interface of a router.',
- 'methods' => [
- 'get',
- 'post',
+ .'* 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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":"<CreateCenChildInstanceRouteEntryToCenResponse>\\r\\n<RequestId>437ED236-BE47-5370-8695-15C58C7A8014</RequestId>\\r\\n</CreateCenChildInstanceRouteEntryToCenResponse>","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' => '146054',
- 'abilityTreeNodes' => [
- 'FEATUREcbnT33W0H',
- ],
+ '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 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****',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-p0w3x8c9em72a40nw****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region to which the transfer router belongs.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-8vbuqeo5h5pu3m01d****', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the transit router CIDR block.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ 'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'TrafficQosPolicyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the transit router CIDR block.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TrafficQosPolicyDescription',
'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',
- ],
+ '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' => 'Cidr',
+ 'name' => 'BandwidthGuaranteeMode',
'in' => 'query',
- 'schema' => [
- 'description' => 'The CIDR block of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.10.0/24',
- ],
+ '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' => 'PublishCidrRoute',
+ 'name' => 'TrafficQosQueues',
'in' => 'query',
- 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to allow the system to automatically add a route that points to the CIDR block to the route table of the transit router.'."\n"
- ."\n"
- .'* **true** (default)'."\n"
- ."\n"
- .' If you set the value to true, after you create a VPN attachment on a private VPN gateway and enable route learning for the VPN attachment, the system automatically adds the following route to the route table of the transit router that is in route learning relationship with the VPN attachment:'."\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"
+ 'description' => 'The information about the QoS queue.'."\n"
."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
+ .'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,
- 'example' => 'true',
- 'default' => 'True',
+ 'maxItems' => 11,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'ConsoleDryRun',
+ 'in' => 'query',
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'TransitRouterCidrId' => [
- 'description' => 'The ID of the CIDR block.'."\n",
- 'type' => 'string',
- 'example' => 'cidr-0zv0q9crqpntzz****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A',
- ],
+ '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' => 'OverLappingExist.Cidr',
- 'errorMessage' => 'The cidr overlapping exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterCidr',
- 'errorMessage' => 'Transit region does not support the operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.Cidr',
- 'errorMessage' => 'The specified cidr is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'The specified RegionId is illegal.',
- ],
- [
- 'errorCode' => 'InstanceNotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterCidrId\\": \\"cidr-0zv0q9crqpntzz****\\",\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterCidrResponse>\\n <TransitRouterCidrId>cidr-0zv0q9crqpntzz****</TransitRouterCidrId>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n</CreateTransitRouterCidrResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouterCidr',
- 'description' => 'You can specify a CIDR block for a transit router. The CIDR block works in a similar way as the CIDR block of the loopback interface on a router. IP addresses within the CIDR block can be assigned to IPsec-VPN connections. For more information, see [Transit router CIDR blocks](~~462635~~).'."\n"
- ."\n"
- .'The **CreateTransitRouterCidr** operation can be used to create a CIDR block only after you create a transit router.'."\n"
+ ['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"
- .'The CIDR block must meet the following requirements:'."\n"
+ .'- Traffic scheduling applies only to outbound traffic on Enterprise Edition transit routers.'."\n"
."\n"
- .'* Only Enterprise Edition transit routers support custom CIDR blocks.'."\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"
- .'* For more information, see [Limits in transit router CIDR blocks](~~462635~~).'."\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"
- .'* Each transit router supports at most five CIDR blocks. The subnet mask of a CIDR block must be 16 bits to 24 bits in length.'."\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"
- .'* The following CIDR blocks and their subnets are not supported: 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, and 169.254.0.0/16.'."\n"
+ .' - If the QoS policy is in the **Active** state, the QoS policy is created.'."\n"
."\n"
- .'* The CIDR block cannot overlap with the CIDR blocks of the network instances that communicate with each other by using the CEN instance.'."\n"
+ .'### Prerequisites'."\n"
."\n"
- .'* On the same CEN instance, each transit router CIDR block must be unique.'."\n"
+ .'Before you call the **CreateCenInterRegionTrafficQosPolicy** operation, make sure that the following requirements are met:'."\n"
."\n"
- .'* When you create the first VPN connection after you add a CIDR block for a transit router, three CIDR blocks within the CIDR block are reserved. An IP address is allocated from the remaining CIDR blocks to the IPsec-VPN connection.'."\n"
+ .'- An inter-region connection is created. For more information, see [CreateTransitRouterPeerAttachment](~~261363~~).'."\n"
."\n"
- .' You can call the [ListTransitRouterCidrAllocation](~~464173~~) operation to query reserved CIDR blocks and IP addresses allocated to network connections.'."\n",
- ],
- 'DeleteTransitRouterCidr' => [
- 'methods' => [
- 'get',
- 'post',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'delete',
+ '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 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 for each API request may be different.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426****',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-p0w3x8c9em72a40nw****',
- ],
+ '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' => 'TransitRouterCidrId',
+ 'name' => 'QosQueueName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CIDR block.'."\n"
- ."\n"
- .'You can call the [ListTransitRouterCidr](~~462772~~) operation to query the ID of a CIDR block.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cidr-0zv0q9crqpntzz****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'QosQueueDescription',
'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',
- ],
+ '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' => 'DryRun',
+ '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' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ 'description' => 'The differentiated services code point (DSCP) value that matches the current queue.'."\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',
+ .'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.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A',
- ],
+ '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' => 'OperationFailed.CidrBlockAllocated',
- 'errorMessage' => 'Cidr blocks are allocated from the cidr, which should be released first.',
- ],
- [
- 'errorCode' => 'OperationFailed.CidrNotExist',
- 'errorMessage' => 'cidr is not exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterCidrResponse>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n</DeleteTransitRouterCidrResponse>","errorExample":""}]',
- 'title' => 'DeleteTransitRouterCidr',
- 'summary' => 'Deletes a CIDR block from a transit router.',
- 'description' => 'If IP addresses within the CIDR block have been allocated to network instances, the CIDR block cannot be deleted.'."\n",
- ],
- 'ModifyTransitRouterCidr' => [
- 'methods' => [
- 'get',
- 'post',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'update',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72302',
+ 'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'TransitRouterId',
+ 'name' => 'CenRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-gw8ergozrv77rtbjd****',
- ],
+ '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' => 'TransitRouterCidrId',
+ 'name' => 'TransmitDirection',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the CIDR block.'."\n"
+ '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"
- .'You can call the [ListTransitRouterCidr](~~462772~~) operation to query the ID of a CIDR block.'."\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,
- 'example' => 'cidr-0zv0q9crqpntzz****',
+ 'docRequired' => true,
+ 'enum' => ['RegionIn', 'RegionOut'],
+ 'example' => 'RegionIn',
+ 'title' => '',
],
],
[
- 'name' => 'RegionId',
+ '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 ID of the region where the transit router is deployed.'."\n"
+ '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"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
+ .'- **Deny**: the route is denied.',
'type' => 'string',
'required' => true,
- 'example' => 'cn-hangzhou',
+ 'docRequired' => true,
+ 'enum' => ['Permit', 'Deny'],
+ 'example' => 'Permit',
+ 'title' => '',
],
],
[
- 'name' => 'Name',
+ 'name' => 'NextPriority',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the transit router CIDR block.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ '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' => 'Description',
+ 'name' => 'CidrMatchMode',
'in' => 'query',
'schema' => [
- 'description' => 'The new description of the transit router CIDR block.'."\n"
+ '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"
- .'The description must be 1 to 256 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty.'."\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,
- 'example' => 'desctest',
+ 'enum' => ['Include', 'Complete'],
+ 'example' => 'Include ',
+ 'title' => '',
],
],
[
- 'name' => 'Cidr',
+ 'name' => 'AsPathMatchMode',
'in' => 'query',
'schema' => [
- 'description' => 'The new CIDR block of the transit router.'."\n",
+ '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,
- 'example' => '192.168.10.0/24',
+ 'enum' => ['Include', 'Complete'],
+ 'example' => 'Include',
+ 'title' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'CommunityMatchMode',
'in' => 'query',
'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ '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"
- .'* **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**: performs a dry run and sends the request.'."\n",
- 'type' => 'boolean',
+ .'- **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,
- 'example' => 'false',
+ 'enum' => ['Include', 'Complete', 'Contain'],
+ 'example' => 'Include',
+ 'title' => '',
],
],
[
- 'name' => 'PublishCidrRoute',
+ 'name' => 'CommunityOperateMode',
'in' => 'query',
'schema' => [
- 'description' => 'Specifies whether to allow the system to automatically add a route that points to the CIDR block to the route table of the transit router. Valid values:'."\n"
+ 'description' => 'The action to be performed on the community. Valid values:'."\n"
."\n"
- .'* **true**'."\n"
+ .'- **Additive**: adds the community to the route.'."\n"
."\n"
- .' If you specify true, create a private VPN connection, and enable route learning for the VPN connection, the system automatically adds the following route to the transit router route table that is in route learning relationship with the VPN connection: 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 IP addresses of IPsec-VPN connections are allocated. The blackhole route is advertised only to the route tables of virtual border routers (VBRs) connected to the transit router.'."\n"
+ .'- **Replace**: replaces the original community of the route.'."\n"
."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
+ .'This parameter specifies the action to be performed when a route meets the match condition.',
+ 'type' => 'string',
'required' => false,
- 'example' => 'true',
- ],
- ],
- ],
- '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',
- ],
- ],
+ 'enum' => ['Additive', 'Replace'],
+ 'example' => 'Additive',
+ 'title' => '',
],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'IllegalParam.Cidr',
- 'errorMessage' => 'Cidr is illegal.',
- ],
- [
- 'errorCode' => 'OperationFailed.CidrBlockAllocated',
- 'errorMessage' => 'Cidr blocks are allocated from the cidr, which should be released first.',
- ],
- [
- 'errorCode' => 'OperationFailed.CidrNotExist',
- 'errorMessage' => 'cidr is not exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ [
+ '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' => ''],
],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyTransitRouterCidrResponse>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n</ModifyTransitRouterCidrResponse>","errorExample":""}]',
- 'title' => 'ModifyTransitRouterCidr',
- 'summary' => 'Modifies the CIDR block of a transit router.',
- 'description' => '* Before you modify the CIDR block of a transit router, we recommend that you read the [limits on transit router CIDR blocks](~~462635~~).'."\n"
- ."\n"
- .'* If IP addresses within the CIDR block have been allocated to network instances, you cannot modify the CIDR block.'."\n"
- ."\n"
- .'* When you call **ModifyTransitRouterCidr**, if no parameter of the **PublishCidrRoute** operation is modified, ModifyTransitRouterCidr is a synchronous operation. After you call the operation, the new settings are immediately applied.'."\n"
- ."\n"
- .'* If a parameter of the **PublishCidrRoute** operation is modified, **ModifyTransitRouterCidr** is an asynchronous operation. After you call the operation, the request ID (**RequestId**) is returned but the operation is still being performed in the system background. You can call **ListTransitRouterCidr** to query the status of the CIDR block of the transit router.'."\n"
- ."\n"
- .' * If the CIDR block of the transit router remains unchanged, the CIDR block is still being modified.'."\n"
- .' * If the CIDR block of the transit router is changed to the one that you specify in the request, the CIDR block has been modified.'."\n",
- ],
- 'ListTransitRouterCidr' => [
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ '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' => ''],
],
- ],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'DestinationInstanceIdsReverseMatch',
'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****',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'MatchAddressType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-p0w3x8c9em72a40nw****',
- ],
+ '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' => 'TransitRouterCidrId',
+ 'name' => 'TransitRouterRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CIDR block.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cidr-0zv0q9crqpntzz****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'SourceInstanceIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The region ID of the transit router.'."\n"
+ 'description' => 'The IDs of the source network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ .'- 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' => 'DryRun',
+ 'name' => 'DestinationInstanceIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether only to precheck the API request. Valid values:'."\n"
+ '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"
- .'* **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',
+ .'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' => 'false',
- ],
- ],
- ],
- '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',
- ],
- '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****',
- ],
- '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',
- ],
- 'Name' => [
- 'description' => 'The name of the CIDR block.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'Description' => [
- 'description' => 'The description of the CIDR block.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'Cidr' => [
- 'description' => 'The CIDR block of the transit router.'."\n",
- 'type' => 'string',
- 'example' => '192.168.10.0/24',
- ],
- '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',
- ],
- 'TransitRouterId' => [
- 'description' => 'The transit router ID.'."\n",
- 'type' => 'string',
- 'example' => 'tr-p0w3x8c9em72a40nw****',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ 'example' => 'vpc-afrfs434465fdf****',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
- ],
- '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":"<ListTransitRouterCidrResponse>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n <CidrLists>\\n <TransitRouterCidrId>cidr-0zv0q9crqpntzz****</TransitRouterCidrId>\\n <Family>IPv4</Family>\\n <Name>nametest</Name>\\n <Description>desctest</Description>\\n <Cidr>192.168.10.0/24</Cidr>\\n <PublishCidrRoute>true</PublishCidrRoute>\\n <TransitRouterId>tr-p0w3x8c9em72a40nw****</TransitRouterId>\\n </CidrLists>\\n</ListTransitRouterCidrResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterCidr',
- 'summary' => 'Queries the CIDR blocks of a transit router.',
- ],
- 'ListTransitRouterCidrAllocation' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
- ],
- ],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
- [
- 'name' => 'ClientToken',
+ 'name' => 'SourceRouteTableIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
+ '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' => '123e4567-e89b-12d3-a456-426****',
+ 'example' => 'vtb-adfr233vf34rvd4****',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'TransitRouterId',
+ 'name' => 'DestinationRouteTableIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-p0w3x8c9em72a40nw****',
+ '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' => 'RegionId',
+ 'name' => 'SourceRegionIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The region ID of the transit router.'."\n"
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ .'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' => 'TransitRouterCidrId',
+ 'name' => 'SourceChildInstanceTypes',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the CIDR block.'."\n"
+ 'description' => 'The types of source network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
- .'You can call the [ListTransitRouterCidr](~~462772~~) operation to query the ID of a CIDR block.'."\n",
- 'type' => 'string',
+ .'- **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' => 'cidr-0zv0q9crqpntzz****',
+ 'example' => 'VPC',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'CidrBlock',
+ 'name' => 'DestinationChildInstanceTypes',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The CIDR blocks that have IP addresses allocated to network instances.'."\n",
- 'type' => 'string',
+ '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' => '192.168.10.0/28',
+ 'example' => 'VPC',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'Cidr',
+ 'name' => 'DestinationCidrBlocks',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The CIDR block of the transit router.'."\n",
- 'type' => 'string',
+ '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' => '192.168.10.0/24',
+ 'example' => '10.10.10.0/24',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'DedicatedOwnerId',
+ 'name' => 'RouteTypes',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The CIDR block that is for exclusive use.'."\n"
+ 'description' => 'The type of route to be compared. Valid values: The following route types are supported:'."\n"
."\n"
- .'Set the value to **VPN**, which specifies the CIDR block that is reserved for VPN connections.'."\n",
- 'type' => 'string',
+ .'- **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' => 'VPN',
+ 'example' => 'System',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'AttachmentId',
+ 'name' => 'MatchAsns',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
+ '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' => 'tr-attach-2nalp6yksc805w****',
+ 'example' => '65501',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'AttachmentName',
+ 'name' => 'MatchCommunitySet',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The name of the network instance connection.'."\n",
- 'type' => 'string',
+ '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' => 'nametest',
+ 'example' => '65501:1',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'OperateCommunitySet',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ '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"
- .'* **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',
+ .'> 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' => 'false',
+ 'example' => '65501:1',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'PrependAsPath',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The number of entries per page.'."\n"
+ '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 you do not specify a value for **MaxResults**, entries are returned in one response. After you send the request, the value of **MaxResults** includes all entries.'."\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 you specify a value for **MaxResults**, entries are returned in batches. Valid values: **1** to **100**. We recommend that you set **MaxResults** to **20**.'."\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"
- .' The value of **MaxResults** in the response indicates that number of entries in the current batch.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ .'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,
- 'maximum' => '100',
- 'minimum' => '5',
- 'example' => '20',
+ 'example' => '65501',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'NextToken',
+ 'name' => 'DestinationRegionIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
+ '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,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'maxItems' => 64,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The returned result.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the next query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** was not returned, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n"
- ."\n"
- .'* If no value is specified for **MaxResults**, query results are returned in one batch. The value of **MaxResults** indicates the total number of entries.'."\n"
- .'* If a value is specified for **MaxResults**, query results are returned in batches. The value of **MaxResults** in the response indicates the number of entries in the current batch.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TransitRouterCidrAllocations' => [
- 'description' => 'The information about the CIDR blocks that have IP addresses allocated to network instances.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the CIDR blocks that have IP addresses allocated to network instances.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'TransitRouterCidrId' => [
- 'description' => 'The ID of the CIDR block.'."\n",
- 'type' => 'string',
- 'example' => 'cidr-0zv0q9crqpntzz****',
- ],
- 'AllocatedCidrBlock' => [
- 'description' => 'The CIDR blocks that have IP addresses allocated to network instances.'."\n",
- 'type' => 'string',
- 'example' => '192.168.10.0/28',
- ],
- 'AttachmentId' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-2nalp6yksc805w****',
- ],
- 'Cidr' => [
- 'description' => 'The CIDR block of the transit router.'."\n",
- 'type' => 'string',
- 'example' => '192.168.10.0/24',
- ],
- 'AttachmentName' => [
- 'description' => 'The name of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- ],
- ],
- ],
+ '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' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The parameter NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterId',
- 'errorMessage' => 'The parameter TransitRouterId or RegionId is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterCidrAllocationResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>1</MaxResults>\\n <TransitRouterCidrAllocations>\\n <TransitRouterCidrId>cidr-0zv0q9crqpntzz****</TransitRouterCidrId>\\n <AllocatedCidrBlock>192.168.10.0/28</AllocatedCidrBlock>\\n <AttachmentId>tr-attach-2nalp6yksc805w****</AttachmentId>\\n <Cidr>192.168.10.0/24</Cidr>\\n <AttachmentName>nametest</AttachmentName>\\n </TransitRouterCidrAllocations>\\n</ListTransitRouterCidrAllocationResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterCidrAllocation',
- 'summary' => 'Queries how a CIDR block is allocated.',
],
- 'CreateTransitRouterVpcAttachment' => [
- 'summary' => 'Attaches virtual private clouds (VPCs) that you want to connect to a transit router. After you attach the VPCs to the same transit router, the VPCs can communicate with each other.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateFlowlog' => [
+ 'summary' => 'Creates a flow log.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4188,507 +2915,264 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
- 'abilityTreeCode' => '72311',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
- ],
- [
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
- ],
- [
- 'name' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
+ '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 ID of the region where the VPC 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',
- ],
+ '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' => 'TransitRouterAttachmentName',
+ 'name' => 'FlowLogName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the VPC connection.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'TransitRouterAttachmentDescription',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the VPC connection.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'VpcId',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The VPC ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp1kbjcre9vtsebo1****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'VpcOwnerId',
+ 'name' => 'ProjectName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the VPC belongs. The default value is the ID of the current Alibaba Cloud account.'."\n"
- ."\n"
- .'> If the network instance and CEN instance belong to different Alibaba Cloud accounts, this parameter is required.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1250123456123456',
- ],
+ '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' => 'ChargeType',
+ 'name' => 'LogStoreName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The billing method. The default value is **POSTPAY**, which specifies the pay-as-you-go billing method.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'POSTPAY',
- ],
+ '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' => 'DryRun',
+ 'name' => 'Interval',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Valid 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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'ZoneMappings',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'A zone that supports Enterprise Edition transit routers.'."\n"
- ."\n"
- .'You can specify at most 10 zones.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The zone that supports Enterprise Edition transit routers and the information about the vSwitch in the zone.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'VSwitchId' => [
- 'description' => 'A vSwitch that is deployed in the zone that supports Enterprise Edition transit routers.'."\n"
- ."\n"
- .'You can specify vSwitches for at most 10 zones in each call.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vsw-bp1a214sbus8z3b54****',
- ],
- 'ZoneId' => [
- 'description' => 'The ID of the zone that supports Enterprise Edition transit routers.'."\n"
- ."\n"
- .'You can call the [DescribeZones](~~36064~~) operation to query the most recent zone list.'."\n"
- ."\n"
- .'You can specify at most 10 zones in each call.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou-h',
- ],
- ],
- 'required' => false,
- ],
- 'required' => true,
- 'maxItems' => 10,
- ],
+ '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' => 'AutoPublishRouteEnabled',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable the Enterprise Edition transit router to automatically advertise routes to VPCs. Valid values:'."\n"
- ."\n"
- .'* **false:** (default)'."\n"
- .'* **true**'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The ID of the transit router instance.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
- 'name' => 'TransitRouterVPCAttachmentOptions',
+ 'name' => 'LogFormatString',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'Feature configurations of the VPC connection.',
- 'type' => 'object',
- 'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'description' => 'The feature of the VPC connection.'."\n"
- ."\n"
- .'**ipv6Support**: specifies whether to enable IPv6.'."\n"
- ."\n"
- .'* **enable**: enables IPv6.'."\n"
- .'* **disable** (default): disables IPv6.'."\n"
- ."\n"
- .'> Before you enable IPv6 for a VPC connection, make sure that IPv6 is enabled for the VPC and the vSwitches of the VPC. For more information, see [AllocateVpcIpv6Cidr](~~448916~~) and [CreateVSwitchCidrReservation](~~2593020~~).',
- 'example' => 'disable',
- ],
- ],
+ '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 information about the tags.'."\n"
+ 'description' => 'The tag.'."\n"
."\n"
- .'You can specify at most 20 tags in each call.'."\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 `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' => 'tagtest',
- ],
- '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' => 'tagtest',
- ],
+ '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.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the VPC connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-ia340z7xis7t5s****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'C087A369-82B9-43EF-91F4-4B63A9C6E6B6',
- ],
+ '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' => 'OperationUnsupported.TransitRouterRegionId',
- 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.',
- ],
- [
- '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.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'The Specified Parameter RegionId is illegal',
- ],
- [
- 'errorCode' => 'MissingParam.CenIdOrRegionId',
- 'errorMessage' => 'Either CenId or RegionId must be specified.',
- ],
- [
- 'errorCode' => 'IllegalParam.ZoneId',
- 'errorMessage' => 'The specified ZoneId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.ChargeType',
- 'errorMessage' => 'The specified ChargeType is illegal.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'The specified TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcResource',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Vpc',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcOrVswitch',
- 'errorMessage' => 'The Vpc Or Vswith is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'OperationNotSupport.VpcAutoRoutesPublish',
- 'errorMessage' => 'Auto publish vpc routes is not supported in this region.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VpnAssociated',
- 'errorMessage' => 'The operation is not supported because the VPC is associated with VPN.',
- ],
- [
- 'errorCode' => 'Forbbiden.TransitRouterServiceNotOpen',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- 'errorCode' => 'IllegalParam.ZoneMappings',
- 'errorMessage' => 'The Specified Parameter ZoneMappings is illegal',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'CenId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.VSwitchId',
- 'errorMessage' => 'VSwitchId is illegal.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CenFullLevel',
- 'errorMessage' => 'CEN full level does not support TransitRouter',
- ],
- [
- 'errorCode' => 'IllegalParam.ServiceMode',
- 'errorMessage' => 'ServiceMode is illegal.',
- ],
- [
- 'errorCode' => 'QuotaFull.ChildInstanceRelatedCen',
- 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CloudBoxVswNotSupport',
- 'errorMessage' => 'Cloud Box vsw does not support.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'Duplicated.ZoneMapping',
- 'errorMessage' => 'The parameter ZoneMapping is duplicated.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.CenQuotaVpcAttachPerTransitRouter',
- 'errorMessage' => 'The maximum number of VPC attachment per Transit Router is exceeded.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcRouteTable',
- 'errorMessage' => 'The VPC route table is not in a desired state.',
- ],
- [
- 'errorCode' => 'InvalidStatus.VpcAttachedFullModeCen',
- 'errorMessage' => 'The VPC has been attached to another CEN instance whose protection level is FULL.',
- ],
- [
- 'errorCode' => 'Forbbiden.AttachChildInstanceAcrossBid',
- 'errorMessage' => 'VPCs that belong to another BID cannot be associated. You need to apply for cross-BID attaching.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VpcAutoRoutesPublishInOtherCEN',
- 'errorMessage' => 'The specified VPC already has its routes synchronized with another CEN instance.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.VpcAutoRoutesPublishPerTransitRouter',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen',
- 'errorMessage' => 'The resource owner user has not opened transit router service.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRegionId',
- 'errorMessage' => 'TransitRouterRegionId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'IllegalParam.Ipv6Support',
- 'errorMessage' => 'Ipv6Support is illegal. Valid Values are [enable, disable].',
- ],
- [
- 'errorCode' => 'OperationFailed.VSwitchNotFound',
- 'errorMessage' => 'The specified vswitch not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.VSwitchIpv6CidrNotAllocated',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.ResourceType',
- 'errorMessage' => 'The specified parameter ResourceType is invalid.',
- ],
- [
- 'errorCode' => 'ParamExclusive.TransitRouterVPCAttachmentOptionsAndOptions',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'InvalidParameter.Ipv6Support',
- 'errorMessage' => 'The specified parameter Ipv6Support is invalid.',
- ],
- [
- 'errorCode' => 'INVALID_OPERATION_RESOURCE_NOT_SUPPORT_APPLIANCE_MODE',
- 'errorMessage' => 'Only VPC attachment support appliance mode.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidVSwitchId.NotFound',
- 'errorMessage' => 'The specified VSwitchId is not found.',
- ],
+ ['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' => ''],
],
- 409 => [
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcSwitch',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
+ 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::ListTransitRouterVpcAttachments',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-ia340z7xis7t5s****\\",\\n \\"RequestId\\": \\"C087A369-82B9-43EF-91F4-4B63A9C6E6B6\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterVpcAttachmentResponse>\\n <TransitRouterAttachmentId>tr-attach-ia340z7xis7t5s****</TransitRouterAttachmentId>\\n <RequestId>C087A369-82B9-43EF-91F4-4B63A9C6E6B6</RequestId>\\n</CreateTransitRouterVpcAttachmentResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouterVpcAttachment',
- 'description' => '* You can use the following methods to create a VPC connection from an Enterprise Edition transit router:'."\n"
+ '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"
- .' * If an Enterprise Edition transit router is already created in the region where you want to create a VPC connection, configure the **VpcId**, **ZoneMappings.N.VSwitchId**, **ZoneMappings.N.ZoneId**, **TransitRouterId**, and **RegionId** parameters.'."\n"
- .' * If no Enterprise Edition transit router is created in the region where you want to create a VPC connection, configure the **VpcId**, **ZoneMappings.N.VSwitchId**, **ZoneMappings.N.ZoneId**, **CenId**, and **RegionId** parameters. Then, the system automatically creates an Enterprise Edition transit router in the specified region.'."\n"
+ .'- Only Enterprise Edition transit routers support flow logs.'."\n"
."\n"
- .'* **CreateTransitRouterVpcAttachment** 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 [ListTransitRouterVpcAttachments](~~261222~~) operation to query the status of a VPC connection.'."\n"
+ .'- For inter-region connections, flow logs capture only outbound traffic from the transit router. Inbound traffic is not captured.'."\n"
."\n"
- .' * If the VPC connection is in the **Attaching** state, the VPC connection is being created. You can query the VPC connection but cannot perform other operations.'."\n"
- .' * If the VPC connection is in the **Attached** state, the VPC connection is created.'."\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"
- .'* By default, route learning and associated forwarding are disabled between transit router route tables and VPC connections.'."\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"
- .'### [](#)Prerequisites'."\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"
- .'Before you call this operation, make sure that the following requirements are met:'."\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"
- .'* The VPC in the zones of the Enterprise Edition transit router contains at least one vSwitch. Each vSwitch must have at least one idle IP address. For more information, see [Regions and zones supported by Enterprise Edition transit routers](~~181681~~).'."\n"
- .'* To connect to a network instance that belongs to another Alibaba Cloud account, you must first acquire the permissions from the account. For more information, see [Acquire permissions to connect to a network instance that belongs to another account](~~181553~~).'."\n"
- .'* VPC connections incur fees. Make sure that you understand the billing rules of VPC connections before you create a VPC connection. For more information, see [Billing](~~189836~~).'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DeleteTransitRouterVpcAttachment' => [
- 'summary' => 'Deletes a virtual private cloud (VPC) connection from an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ .' - 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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -4697,195 +3181,308 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72332',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ '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 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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-ia340z7xis7t5s****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TransitRouterId',
'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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-8vbuqeo5h5pu3m01d****'],
],
[
- 'name' => 'Force',
+ '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' => 'Specifies whether to forcefully delete the VPC connection. Valid values:'."\n"
+ '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"
- .'* **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.'."\n",
- 'type' => 'boolean',
+ .'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,
- 'example' => 'false',
- 'default' => 'false',
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '7E61D334-4025-41EF-9145-FC327B35301D',
- ],
+ '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' => 'OperationFailed.AttachmentReferencedVpcRouteEntryExisted',
- 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteTablePropagationExist',
- 'errorMessage' => 'The specified TransitRouterAttachment has configured RouteTablePropagation. Please remove the configuration first.',
- ],
- [
- 'errorCode' => 'OperationFailed.MulticastDomainAssociationExist',
- 'errorMessage' => 'The specified TransitRouterAttachment has configured MulticastDomainAssociation. Please remove the configuration first.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.PrefixListExist',
- 'errorMessage' => 'Operation failed because PrefixList exists.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcRouteEntry',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcSwitch',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Vpc',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.NotSupportForceDelete',
- 'errorMessage' => 'Not support force delete attachment.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcRouteTable',
- 'errorMessage' => 'The VPC route table is not in a desired state.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteEntryExist',
- 'errorMessage' => 'Failed to delete the instance because a route table entry points to the instance.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteTableAssociationExist',
- 'errorMessage' => 'Operation failed because there is associated routing table.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcResource',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.FlowLogExistOrNisOpened',
- 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'OperationNotPermitted.AttachmentManagedByCloudService',
- 'errorMessage' => 'The specified Attachment managed by cloud service can only be deleted through cloud service.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterVpcAttachments',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7E61D334-4025-41EF-9145-FC327B35301D\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterVpcAttachmentResponse> \\r\\n<RequestId>7E61D334-4025-41EF-9145-FC327B35301D</RequestId>\\r\\n</DeleteTransitRouterVpcAttachmentResponse> ","errorExample":""}]',
- '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"
+ ['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"
- .'* 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"
+ .'- **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"
- .'## Prerequisites'."\n"
- ."\n"
- .'Before you delete a VPC connection, make sure that the following requirements are met:'."\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"
- .'* 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~~).'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'UpdateTransitRouterVpcAttachmentAttribute' => [
- 'summary' => 'Modifies the name and description of a virtual private cloud (VPC) connection on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ .' - 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -4894,901 +3491,570 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72440',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '154219',
+ 'abilityTreeNodes' => ['FEATUREcbnT33W0H', 'FEATUREcbn476RI8'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'TransitRouteTableId',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-iq8qgruq1ry8jc7vt****', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'TransitRouteTableAggregationName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ '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' => 'TransitRouterAttachmentName',
+ 'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the VPC connection.'."\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' => 'testname',
- ],
+ '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' => 'TransitRouterAttachmentDescription',
+ 'name' => 'TransitRouteTableAggregationScope',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the VPC connection.'."\n"
- ."\n"
- .'The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TransitRouteTableAggregationScopeList',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Default values:'."\n"
+ '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"
- .'* **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.'."\n",
- 'type' => 'boolean',
+ .'- **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,
- 'example' => 'false',
+ 'maxItems' => 5,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'TransitRouterVPCAttachmentOptions',
+ 'name' => 'TransitRouteTableAggregationDescription',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The features of the VPC connection.'."\n",
- 'type' => 'object',
- 'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => 'ipv6Support:enable',
- 'description' => 'The features of the VPC connection.'."\n"
- ."\n"
- .'**ipv6Support**: specifies whether to enable IPv6.'."\n"
- ."\n"
- .'* **enable**: enables IPv6.'."\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 of the VPC. For more information, see [AllocateVpcIpv6Cidr](~~448916~~) and [CreateVSwitchCidrReservation](~~2593020~~).'."\n",
- ],
- ],
+ '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' => 'AutoPublishRouteEnabled',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to allow the Enterprise Edition transit router to advertise routes to the VPC. Valid values:'."\n"
- ."\n"
- .'* **false:** (default)'."\n"
- .'* **true**'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a value from your client 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 ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '7E61D334-4025-41EF-9145-FC327B35301D',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterAttachmentId',
- 'errorMessage' => 'TransitRouterAttachmentId status is invalid.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'InvalidOperation.RegionNotSupport',
- 'errorMessage' => 'The operation is not supported in this region.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VpcAutoRoutesPublishInOtherCEN',
- 'errorMessage' => 'The operation is not supported because the VPC is already set autoRoutesPublish in other CEN.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.VpcAutoRoutesPublishPerTransitRouter',
- 'errorMessage' => 'The count of VPC instance which set autoRoutesPublish in transitRouter is over limit.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VpnAssociated',
- 'errorMessage' => 'The operation is not supported because the VPC is associated with VPN.',
- ],
- [
- 'errorCode' => 'IllegalParam.Ipv6Support',
- 'errorMessage' => 'Ipv6Support is illegal. Valid Values are [enable, disable].',
- ],
- [
- 'errorCode' => 'OperationFailed.VSwitchNotFound',
- 'errorMessage' => 'The specified vswitch not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.VSwitchIpv6CidrNotAllocated',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationInvalid.AttachmentReferencedVpcIPv6RouteEntryExisted',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.VpcRoutePropagationSource',
- 'errorMessage' => 'The operation on this VPC route propagation source is not supported.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'INVALID_OPERATION_RESOURCE_NOT_SUPPORT_APPLIANCE_MODE',
- 'errorMessage' => 'Only VPC attachment support appliance mode.',
- ],
- [
- 'errorCode' => 'InvalidParameter.Ipv6Support',
- 'errorMessage' => 'The specified parameter Ipv6Support is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.ApplianceModeSupport',
- 'errorMessage' => 'The specified parameter ApplianceModeSupport is invalid.',
- ],
- [
- 'errorCode' => 'ParamExclusive.TransitRouterVPCAttachmentOptionsAndOptions',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'InvalidOperation.OrderTypeMustMatchGrantCrossAccount',
- 'errorMessage' => '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.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7E61D334-4025-41EF-9145-FC327B35301D\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTransitRouterVpcAttachmentAttributeResponse>\\n <RequestId>7E61D334-4025-41EF-9145-FC327B35301D</RequestId>\\n</UpdateTransitRouterVpcAttachmentAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateTransitRouterVpcAttachmentAttribute',
- 'description' => '**UpdateTransitRouterVpcAttachmentAttribute** 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"
+ '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"
- .'* 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",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'UpdateTransitRouterVpcAttachmentZones' => [
- 'methods' => [
- 'post',
- 'get',
+ .'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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'update',
+ '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"
- .'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****',
- ],
+ '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. 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',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'SupportMulticast',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-attach-9bbqyygouv4cpn****',
- ],
+ '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' => 'AddZoneMappings',
+ 'name' => 'TransitRouterCidrList',
'in' => 'query',
- 'style' => 'repeatList',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The zones and vSwitches that you want to add to the VPC connection.'."\n",
+ 'description' => 'The CIDR blocks of the transit router.',
'type' => 'array',
'items' => [
- 'description' => 'The ID of the vSwitch that you want to add to the VPC connection.'."\n"
+ 'description' => 'The CIDR blocks of the transit router.'."\n"
."\n"
- .'You can specify at most 10 vSwitches in each call.'."\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' => [
- '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****',
- ],
- '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',
- ],
+ '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,
- 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'RemoveZoneMappings',
+ 'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The zones and vSwitches that you want to remove from the VPC connection.'."\n",
+ 'description' => 'The tag.',
'type' => 'array',
'items' => [
- 'description' => 'The zones and vSwitches that you want to remove from the VPC connection.'."\n"
+ 'description' => 'The tag.'."\n"
."\n"
- .'You can specify at most 10 pairs of zones and vSwitches in each call.'."\n",
+ .'You can specify at most 20 tags.',
'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****',
- ],
- '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',
- ],
+ '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' => 10,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '595AE52F-49FF-5788-A677-0DD1467941A1',
- ],
+ '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' => 'IllegalParam.ZoneId',
- 'errorMessage' => 'The specified ZoneId is illegal.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterAttachment',
- 'errorMessage' => 'The status of TransitRouterAttachment is incorrect.',
- ],
- [
- 'errorCode' => 'IllegalParam.VSwitchId',
- 'errorMessage' => 'VSwitchId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ServiceMode',
- 'errorMessage' => 'The specified TransitRouter does not support the operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.AddOrRemoveZoneMappings',
- 'errorMessage' => 'The specified AddZoneMappings or RemoveZoneMappings are illegal.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Vpc',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.RouteEntryOnEni',
- 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified eni.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcRouteEntry',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcSwitch',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'InsufficientIpAddr.vsw',
- 'errorMessage' => 'Insufficient available IP addresses in the vSwitch.',
- ],
- [
- 'errorCode' => 'OperationFailed.VSwitchIpv6CidrNotAllocated',
- 'errorMessage' => 'The specified vswitch does not have IPv6 address allocated.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- '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.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'IllegalParam.ZoneId',
- 'errorMessage' => 'The specified ZoneId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidVSwitchId.NotFound',
- 'errorMessage' => 'The specified VSwitchId is not found.',
- ],
+ ['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'],
],
- 409 => [
- [
- 'errorCode' => 'IncorrectStatus.VpcSwitch',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
+ '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 \\"RequestId\\": \\"595AE52F-49FF-5788-A677-0DD1467941A1\\"\\n}","type":"json"}]',
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterId\\": \\"tr-uf6llz2286805i44g****\\",\\n \\"RequestId\\": \\"404DA7EC-F495-44B5-B543-6EDCDF90F3D1\\"\\n}","type":"json"}]',
+ 'extraInfo' => ' ',
],
- 'ListTransitRouterVpcAttachments' => [
- 'summary' => 'Queries the status, billing method, zones, vSwitches, and elastic network interfaces (ENIs) of virtual private cloud (VPC) connections.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72401',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ 'abilityTreeCode' => '146054',
+ 'abilityTreeNodes' => ['FEATUREcbnT33W0H'],
],
'parameters' => [
[
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The IDs of the CEN instances.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the Enterprise Edition transit router.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ '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 Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'RegionId',
'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',
- ],
+ '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' => 'NextToken',
+ 'name' => 'Name',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query and no subsequent queries are to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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' => 'Tag',
+ 'name' => 'Description',
'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' => 'tagtest',
- ],
- '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' => 'tagtest',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => 'VpcId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp1kbjcre9vtsebo1****',
- ],
+ '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' => 'OrderType',
+ 'name' => 'Cidr',
'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"
- .'* **PayByResourceOwner**: the Alibaba Cloud account that owns the network instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PayByCenOwner',
- ],
+ 'schema' => ['description' => 'The CIDR block of the transit router.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
- 'name' => 'Status',
+ 'name' => 'PublishCidrRoute',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether the network instance is attached to the CEN instance. Valid values:'."\n"
- ."\n"
- .'* **Attaching**: being attached to the CEN instance.'."\n"
- .'* **Attached**: attached to the CEN instance.'."\n"
- .'* **Detaching**: being detached from the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Attached',
- ],
+ '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.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the next query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is returned, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the region.'."\n",
- 'type' => 'string',
- 'example' => 'C97FF53F-3EF8-4883-B459-60E171924B23',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TransitRouterAttachments' => [
- 'description' => 'The information about the VPC connection.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the VPC connection.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'CreationTime' => [
- 'description' => 'The time when the VPC 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',
- ],
- 'Status' => [
- 'description' => 'The status of the VPC connection. Valid values:'."\n"
- ."\n"
- .'* **Attached**'."\n"
- .'* **Attaching**'."\n"
- .'* **Detaching**'."\n",
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- 'VpcId' => [
- 'description' => 'The VPC ID.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The VPC connection ID.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The description of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
- 'ResourceType' => [
- 'description' => 'The type of resource to which the transit router is connected.'."\n"
- ."\n"
- .'Only **VPC** may be returned, which indicates VPCs.'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'TransitRouterAttachmentDescription' => [
- 'description' => 'The description of the VPC connection.'."\n",
- 'type' => 'string',
- 'example' => 'testdesc',
- ],
- 'VpcOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the VPC belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1250123456123456',
- ],
- 'VpcRegionId' => [
- 'description' => 'The region ID of the VPC.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'TransitRouterAttachmentName' => [
- 'description' => 'The name of the VPC connection.'."\n",
- 'type' => 'string',
- 'example' => 'testname',
- ],
- 'ZoneMappings' => [
- 'description' => 'The primary and secondary zones, vSwitches, and ENIs of the VPC.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ZoneId' => [
- 'description' => 'The zone ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou-h',
- ],
- 'VSwitchId' => [
- 'description' => 'The vSwitch ID.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-bp1a214sbus8z3b54****',
- ],
- 'NetworkInterfaceId' => [
- 'description' => 'The ID of the ENI created by the Enterprise Edition transit router in the vSwitch.'."\n",
- 'type' => 'string',
- 'example' => 'eni-bp149hmyaqegerml****',
- ],
- ],
- ],
- ],
- 'AutoPublishRouteEnabled' => [
- 'description' => 'Indicates whether the Enterprise Edition transit router can automatically advertise routes to the VPC. Valid values:'."\n"
- ."\n"
- .'* **false**'."\n"
- .'* **true**'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
- 'ChargeType' => [
- 'description' => 'The billing method of the VPC connection.'."\n"
- ."\n"
- .'Only **POSTPAY** may be returned, which indicates the default pay-as-you-go billing method.'."\n",
- 'type' => 'string',
- 'example' => 'POSTPAY',
- ],
- 'Tags' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- 'description' => 'The value of the tag that you want to query.'."\n",
- ],
- ],
- 'OrderType' => [
- '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"
- .'* **PayByResourceOwner**: the Alibaba Cloud account that owns the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'PayByCenOwner',
- ],
- 'ManagedService' => [
- 'type' => 'string',
- ],
- 'TransitRouterVPCAttachmentOptions' => [
- 'description' => 'The features of the VPC connection.'."\n",
- 'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'string',
- 'description' => 'The features of the VPC connection.'."\n"
- ."\n"
- .'* **ipv6Support**: indicates whether IPv6 is enabled. The default value is determined based on whether IPv6 is enabled.'."\n"
- ."\n"
- .' * **enable**: IPv6 is enabled.'."\n"
- .' * **disable**: IPv6 is disabled.'."\n",
- 'example' => '{ "ipv6Support": "disable" }',
- ],
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-j3jzhw1zpau2km****'."\n",
- ],
- ],
- ],
- ],
+ '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' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrInstance',
- 'errorMessage' => 'The specified TransitRouter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified Region is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterId',
- 'errorMessage' => 'The specified TransitRouterId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenIdOrRegionId',
- 'errorMessage' => 'The specified CenId or RegionId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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' => '[{"type":"json","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 }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTransitRouterVpcAttachmentsResponse>\\n <RequestId>C97FF53F-3EF8-4883-B459-60E171924B23</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>20</MaxResults>\\n <TransitRouterAttachments>\\n <CreationTime>2021-06-15T02:14Z</CreationTime>\\n <Status>Attached</Status>\\n <VpcId>vpc-bp1h8vbrbcgohcju5****</VpcId>\\n <TransitRouterAttachmentId>tr-attach-nls9fzkfat8934****</TransitRouterAttachmentId>\\n <TransitRouterId>tr-bp1su1ytdxtataupl****</TransitRouterId>\\n <ResourceType>VPC</ResourceType>\\n <TransitRouterAttachmentDescription>testdesc</TransitRouterAttachmentDescription>\\n <VpcOwnerId>1250123456123456</VpcOwnerId>\\n <VpcRegionId>cn-hangzhou</VpcRegionId>\\n <TransitRouterAttachmentName>testname</TransitRouterAttachmentName>\\n <ZoneMappings>\\n <ZoneId>cn-hangzhou-h</ZoneId>\\n <VSwitchId>vsw-bp1a214sbus8z3b54****</VSwitchId>\\n <NetworkInterfaceId>eni-bp149hmyaqegerml****</NetworkInterfaceId>\\n </ZoneMappings>\\n <ChargeType>POSTPAY</ChargeType>\\n </TransitRouterAttachments>\\n</ListTransitRouterVpcAttachmentsResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterVpcAttachments',
- 'description' => 'You can use the following methods to query VPC connections on an Enterprise Edition transit router:'."\n"
- ."\n"
- .'* Specify the ID of the Enterprise Edition transit router.'."\n"
- .'* Specify the ID of the relevant Cloud Enterprise Network (CEN) instance and the region ID of the Enterprise Edition transit router.'."\n"
- .'* Specify the ID of the region where the Enterprise Edition transit router is deployed.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterCidrId\\": \\"cidr-0zv0q9crqpntzz****\\",\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","type":"json"}]',
],
'CreateTransitRouterEcrAttachment' => [
- 'summary' => 'Attaches an Express Connect Router (ECR) connection to the transit router in the same region.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => [],
@@ -5801,117 +4067,69 @@
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '195515',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ '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 different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', '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' => 'eu-central-1',
- ],
+ '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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ '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"
- .'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' => 'testdesc',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ecr-upyc0viial107r****',
- ],
+ '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 belongs. By default, the ID of the current Alibaba Cloud account is specified.'."\n"
- ."\n"
- .'> If you want to connect to a network instance that belongs to a different account, this parameter is required.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1250123456123456',
- ],
+ '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, 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"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: performs a dry run. 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',
@@ -5920,36 +4138,31 @@
'schema' => [
'description' => 'The tags.'."\n"
."\n"
- .'You can specify at most 20 tags in each call.'."\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. 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' => 'tagtest',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n"
- ."\n"
- .'The tag value can be an empty string or up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
- ."\n"
- .'Each key-value pair must be unique. You can specify values for at most 20 tag keys in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tagtest',
- ],
+ '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' => '',
],
],
],
@@ -5958,337 +4171,112 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the ECR connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-qieks13jnt1cchy***',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterRegionId',
- 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'CenId is not found.',
- ],
- [
- 'errorCode' => 'InvalidStatus.ResourceStatus',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'Forbbiden.TransitRouterServiceNotOpen',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'MissingParam.CenIdOrRegionId',
- 'errorMessage' => 'Either CenId or RegionId must be specified.',
- ],
- [
- 'errorCode' => 'IllegalParam.AssociateRouteTableId',
- 'errorMessage' => 'The specified AssociateRouteTableId is illegal.',
- ],
- [
- 'errorCode' => 'Forbbiden.AttachChildInstanceAcrossBid',
- 'errorMessage' => 'Operation is invalid, please apply for cross-bid attaching.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'RegionId is illegal.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CenFullLevel',
- 'errorMessage' => 'CEN full level does not support TransitRouter',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'QuotaFull.ChildInstanceRelatedCen',
- 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.',
- ],
- [
- 'errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen',
- 'errorMessage' => 'The resource owner user has not opened transit router service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.BandwidthType',
- 'errorMessage' => 'The specified BandwidthType does not support the operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthType',
- 'errorMessage' => 'BandwidthType is illegal.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.EcrResource',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ECRAttachment',
- 'errorMessage' => 'ECR Attachment is not supported.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'ResourceNotFound',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'Forbbiden.AttachAcrossBidEcr',
- 'errorMessage' => 'Attach cross bid ECR is unsupported. Please submit a ticket.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.ResourceType',
- 'errorMessage' => 'The specified parameter ResourceType is invalid.',
- ],
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'The system is busy. Please 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.',
- ],
+ ['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' => ''],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-qieks13jnt1cchy***\\",\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]',
'title' => 'CreateTransitRouterEcrAttachment',
- 'description' => '* Only Enterprise Edition transit routers support ECR connections.'."\n"
+ 'description' => '- Only Enterprise Edition transit routers support ECR connections.'."\n"
."\n"
- .'* The following methods describe how to attach an ECR connection to an Enterprise Edition transit router:'."\n"
+ .'- You can create an ECR connection on an Enterprise Edition transit router in one of the following two ways:'."\n"
."\n"
- .' * If an Enterprise Edition transit router is created in the region, specify the **EcrId**, **RegionId**, and **TransitRouterId** parameters.'."\n"
- .' * If no Enterprise Edition transit router is created in the region, specify the **EcrId**, **CenId**, and **RegionId** parameters. An Enterprise Edition transit router is automatically created when you create an ECR connection.'."\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"
- .'* CreateTransitRouterEcrAttachment 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"
+ .' - 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"
- .' * If the ECR connection is in the **Attaching** state, the ECR connection is being created. In this case, you can query the ECR connection but cannot perform other operations on the ECR connection.'."\n"
- .' * If the ECR connection is in the **Attached** state, the ECR connection is created.'."\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"
- .'* After you create an ECR connection, the ECR connection is not in route learning or associated forwarding relationships with Enterprise Edition transit routers.'."\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"
- .' After you enable [route learning](~~468300~~) between the ECR connection and an Enterprise Edition transit router, the routes of the ECR are automatically advertised to the route tables of the Enterprise Edition transit router.'."\n"
+ .' - If an ECR connection is in the **Attached** status, the connection is created.'."\n"
."\n"
- .'* After you create an ECR connection, the routes in the route tables of the Enterprise Edition transit router to which the ECR connection is attached are automatically advertised to the route table of the ECR.'."\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"
- .'### [](#)Prerequisite'."\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"
- .'* The Alibaba Cloud account of the Enterprise Edition transit router and the Alibaba Cloud account of the ECR belong to the same enterprise.'."\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"
- .'* The Enterprise Edition transit router and ECR can belong to the same Alibaba Cloud account or different Alibaba Cloud accounts. If the Enterprise Edition transit router and ECR belong to different Alibaba Cloud accounts, grant the transit router permissions on the ECR before you can attach the ECR to the transit router. For more information, see [Acquire permissions to connect to a network instance that belongs to another account](~~181553~~).'."\n"
+ .'### Prerequisites'."\n"
."\n"
- .'* **Before you call this operation to attach an ECR connection to an Enterprise Edition transit router, you must call the [CreateExpressConnectRouterAssociation](~~2712082~~) operation to create an association between the ECR and transit router.**'."\n"
+ .'- The Alibaba Cloud accounts that own the Enterprise Edition transit router and the ECR instance must belong to the same enterprise.'."\n"
."\n"
- .' **If you call the DeleteTransitRouterEcrAttachment operation to forcefully delete an ECR connection, the association between the ECR connection and Enterprise Edition transit router is deleted.**',
- ],
- 'DeleteTransitRouterEcrAttachment' => [
- 'summary' => 'Deletes an Express Connect Router (ECR) connection from an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'- 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'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'CreateTransitRouterEcrAttachment'],
],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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****',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ECR connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-r6g0m3epjehw57****',
- ],
- ],
- [
- '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',
- ],
- ],
- [
- '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',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1',
- ],
+ '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}'],
],
- 'description' => '',
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'OperationFailed.RouteTableAssociationExist',
- 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteEntryExist',
- 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteTablePropagationExist',
- 'errorMessage' => 'The specified TransitRouterAttachment has configured RouteTablePropagation. Please remove the configuration first.',
- ],
- [
- 'errorCode' => 'OperationFailed.FlowLogExistOrNisOpened',
- 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.NotSupportForceDelete',
- 'errorMessage' => 'Not support force delete attachment.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'The TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.PrefixListExist',
- 'errorMessage' => 'Operation failed because PrefixList exists.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.EcrResource',
- 'errorMessage' => '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.',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-qieks13jnt1cchy***\\",\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]',
],
- 'UpdateTransitRouterEcrAttachmentAttribute' => [
- 'summary' => 'Modifies the name and description of an Express Connect Router (ECR) connection on a Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => [],
@@ -6297,904 +4285,551 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ '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"
- .'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-42665544****',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ECR connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-r6g0m3epjehw57****',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new 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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentDescription',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new description of the ECR 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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
- ],
- [
- '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. If the request passes the dry run, the operation is performed.'."\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',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457',
- ],
- ],
- 'description' => '',
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterAttachment',
- 'errorMessage' => 'The status of TransitRouterAttachment is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ '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' => ''],
],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\"\\n}","type":"json"}]',
- 'title' => 'UpdateTransitRouterEcrAttachmentAttribute',
- 'description' => 'UpdateTransitRouterEcrAttachmentAttribute 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 an ECR connection is in the Modifying state, the ECR connection is being modified. In this case, you can query the ECR connection but cannot perform other operations on the ECR connection. If an ECR connection is in the Attached state, the ECR connection is modified.'."\n",
- ],
- '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****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-a7syd349kne38g****', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'TransitRouterId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-p0wr9p28r92d598y6****', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ECR connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'TransitRouterMulticastDomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-6ehx7q2jze8ch5ji0****',
- ],
+ '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' => 'MaxResults',
+ 'name' => 'TransitRouterMulticastDomainDescription',
'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',
- ],
+ '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' => 'NextToken',
+ 'name' => 'DryRun',
'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****',
- ],
+ '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 tags.'."\n"
+ 'description' => 'The tag.'."\n"
."\n"
- .'You can specify at most 20 tags.'."\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. 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',
- ],
- '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',
- ],
+ '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' => [
- '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****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '461EC1B5-04A8-4706-8764-8F5BCEF48A6F',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '4',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- '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',
- ],
- 'Status' => [
- 'description' => 'The status of the ECR connection. Valid values:'."\n"
- ."\n"
- .'* **Attached**'."\n"
- .'* **Attaching**'."\n"
- .'* **Detaching**'."\n",
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the ECR connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
- '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',
- ],
- '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',
- ],
- 'TransitRouterAttachmentDescription' => [
- 'description' => 'The description of the ECR connection.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'EcrOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the ECR connection belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1688111111111111',
- ],
- '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',
- ],
- 'EcrId' => [
- 'description' => 'The ID of the ECR with which the ECR connection is associated.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-n78omt2qsko06y****',
- ],
- 'TransitRouterAttachmentName' => [
- 'description' => 'The name of the ECR connection.'."\n",
- 'type' => 'string',
- 'example' => 'testname',
- ],
- 'Tags' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-j3jzhw1zpau2km****'."\n",
- ],
- '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',
- ],
- ],
- ],
- ],
+ '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' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrInstance',
- 'errorMessage' => 'The specified TransitRouter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified Region is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterId',
- 'errorMessage' => 'The specified TransitRouterId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenIdOrRegionId',
- 'errorMessage' => 'The specified CenId or RegionId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '云企业网'],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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 \\"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\\": 1210123456123456,\\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"}]',
- '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.',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterMulticastDomainId\\": \\"tr-mcast-domain-40cwj0rgzgdtam****\\",\\n \\"RequestId\\": \\"94E19C6F-206F-5223-9A63-64B85851BC04\\"\\n}","type":"json"}]',
],
- 'CreateTransitRouterVpnAttachment' => [
- 'summary' => 'Attaches an IPsec-VPN connection to a transit router.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateTransitRouterPeerAttachment' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
- 'abilityTreeCode' => '138538',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ 'abilityTreeCode' => '72307',
+ '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 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****',
- ],
- ],
- [
- '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',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-rsgxs8ng2awen2****',
- ],
+ '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 transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-p0wm740vjnbaprv0m****',
- ],
+ '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 transit router 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',
- ],
+ '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 VPN attachment.'."\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',
- ],
+ '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 VPN attachment.'."\n"
- ."\n"
- .'The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ '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' => 'VpnId',
+ 'name' => 'PeerTransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the IPsec-VPN attachment.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vco-p0w042cqwvlhl4zyw****',
- ],
+ 'schema' => ['description' => 'The ID of the peer transit router instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-m5eq27g6bndum7e88****'],
],
[
- 'name' => 'VpnOwnerId',
+ 'name' => 'PeerTransitRouterRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.'."\n"
- ."\n"
- .'* If you do not set this parameter, the ID of the current Alibaba Cloud account is used.'."\n"
- .'* You must set VpnOwnerId if you want to connect the transit router to an IPsec-VPN connection that belongs to another Alibaba Cloud account.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1210123456123456',
- ],
+ '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 allow the transit router to automatically advertise routes to the IPsec-VPN attachment. Valid values:'."\n"
- ."\n"
- .'* **true** (default): yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => 'ChargeType',
+ 'name' => 'Bandwidth',
'in' => 'query',
- 'schema' => [
- 'description' => 'The billing method.'."\n"
- ."\n"
- .'Set the value to **POSTPAY**, which is the default value and specifies the pay-as-you-go billing method.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'POSTPAY',
- ],
+ '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' => 'Zone',
+ 'name' => 'CenBandwidthPackageId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The ID of the zone in the current region.'."\n"
- ."\n"
- .'Resources are deployed in the specified zone.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the zone where the instance resides.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'ZoneId' => [
- 'description' => 'The zone ID of the read-only instance.'."\n"
- ."\n"
- .'You can call the [ListTransitRouterAvailableResource](~~261356~~) operation to query the most recent zone list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou-h',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 1,
- ],
+ '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 tags.'."\n"
+ 'description' => 'The tag information.'."\n"
."\n"
- .'You can specify at most 20 tags in each call.'."\n",
+ .'You can specify at most 20 tags in each call.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the tags.'."\n",
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n"
- ."\n"
- .'The tag keys 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',
- ],
- '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',
- ],
+ '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.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the VPN attachment.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-y5dup2qwfyh9lu****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '8B5DD40A-3A29-5AC0-B8DA-05FD10D5C893',
- ],
+ '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' => '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.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterRegionId',
- 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'CenId is not found.',
- ],
- [
- 'errorCode' => 'InvalidStatus.ResourceStatus',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'Forbbiden.TransitRouterServiceNotOpen',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'InvalidAvailable.NoResource',
- 'errorMessage' => 'No resource in the available zone.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.VpnAttachment',
- 'errorMessage' => 'The specified region does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.AllocateCidrFailed',
- 'errorMessage' => 'Operation failed because vpn allocate cidr failed.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ZoneId',
- 'errorMessage' => 'The specified ZoneId does not support the operation.',
- ],
- [
- 'errorCode' => 'MissingParam.CenIdOrRegionId',
- 'errorMessage' => 'Either CenId or RegionId must be specified.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'RegionId is illegal.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CenFullLevel',
- 'errorMessage' => 'CEN full level does not support TransitRouter',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ',
- ],
- [
- 'errorCode' => 'IllegalParam.ZoneMappings',
- 'errorMessage' => 'The Specified Parameter ZoneMappings is illegal',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VpnNetworkTypeInvalid',
- 'errorMessage' => 'The network type of child-instance is invalid.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.CenQuotaVpnAttachPerTransitRouter',
- 'errorMessage' => 'The maximum number of VPN attachment per Transit Router is exceeded.',
- ],
- [
- 'errorCode' => 'QuotaFull.ChildInstanceRelatedCen',
- 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.',
- ],
- [
- 'errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen',
- 'errorMessage' => 'The resource owner user has not opened transit router service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.VcoTunnelNotMatchZoneParam',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRegionId',
- 'errorMessage' => 'TransitRouterRegionId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidVpnId.NotFound',
- 'errorMessage' => 'The specified vpn connection instance id does not exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter.ResourceType',
- 'errorMessage' => 'The specified parameter ResourceType is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.VpnId',
- 'errorMessage' => 'The specified parameter VpnId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.ChargeType',
- 'errorMessage' => 'The specified ChargeType is illegal.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterVpnAttachments',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-y5dup2qwfyh9lu****\\",\\n \\"RequestId\\": \\"8B5DD40A-3A29-5AC0-B8DA-05FD10D5C893\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterVpnAttachmentResponse>\\n <TransitRouterAttachmentId>tr-attach-y5dup2qwfyh9lu****</TransitRouterAttachmentId>\\n <RequestId>8B5DD40A-3A29-5AC0-B8DA-05FD10D5C893</RequestId>\\n</CreateTransitRouterVpnAttachmentResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouterVpnAttachment',
- 'description' => '* By default, route learning and associated forwarding are disabled between transit router route tables and IPsec-VPN attachments.'."\n"
- .'* When you call `CreateTransitRouterVpnAttachment`, if you set **CenId** and **RegionId**, you do not need to set **TransitRouterId**. If you set **TransitRouterId** and **RegionId**, you do not need to set **CenId**.'."\n"
+ '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"
- .'### Prerequisites'."\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"
- .'* Before you attach an IPsec-VPN connection to a transit router, make sure that at least one IPsec-VPN connection is created in the region where the transit router is deployed. Make sure the IPsec-VPN connection is not associated with a resource. For more information, see [CreateVpnAttachment](~~442455~~).'."\n"
- .'* If the IPsec-VPN connection to be attached to the transit router belongs to a different Alibaba Cloud account, make sure that the transit router has obtained the required permissions from the IPsec-VPN connection. For more information, see [GrantInstanceToTransitRouter](~~417520~~).',
+ .' 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"}]',
],
- 'DeleteTransitRouterVpnAttachment' => [
- 'summary' => 'Deletes a VPN attachment.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateTransitRouterPrefixListAssociation' => [
+ 'summary' => 'Associates the route table of an Enterprise Edition transit router with a prefix list.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ '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 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-42665544****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'RegionId',
'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',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPN attachment.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-attach-b9xj1dv69600kj****',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-6ehx7q2jze8ch5ji0****', 'title' => ''],
],
[
- 'name' => 'Force',
+ 'name' => 'NextHopType',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to forcefully delete the VPN attachment. Valid values:'."\n"
- ."\n"
- .'* **false** (default): Check for resource dependencies, such as associated forwarding and route learning, before the VPN attachment is deleted. If such resources exist, the VPN attachment is not deleted and an error message is returned.'."\n"
- .'* **true**: Delete the resource dependencies along with the VPN attachment.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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' => [
@@ -7203,574 +4838,417 @@
'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'FA43C571-E88B-56C0-8FF8-5646D9B96297',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationFailed.RouteTableAssociationExist',
- 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteEntryExist',
- 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'The TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.NotSupportForceDelete',
- 'errorMessage' => 'Not support force delete attachment.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.ResourceStatus',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteTablePropagationExist',
- 'errorMessage' => 'Operation failed because You are not allowed to delete TransitAttachment with TransitRouter RouteTable Associated.',
- ],
- [
- 'errorCode' => 'OperationFailed.PrefixListExist',
- 'errorMessage' => 'Operation failed because PrefixList exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.FlowLogExistOrNisOpened',
- 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FA43C571-E88B-56C0-8FF8-5646D9B96297\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterVpnAttachmentResponse>\\n <RequestId>FA43C571-E88B-56C0-8FF8-5646D9B96297</RequestId>\\n</DeleteTransitRouterVpnAttachmentResponse>","errorExample":""}]',
- 'title' => 'DeleteTransitRouterVpnAttachment',
- 'description' => 'Before you call the **DeleteTransitRouterVpnAttachment** operation, make sure that all request parameters are valid. If a request parameter is invalid, a **request ID** is returned, but the VPN attachment is not deleted.'."\n",
- ],
- 'UpdateTransitRouterVpnAttachmentAttribute' => [
- 'summary' => 'Modifies the configuration of a VPN attachment.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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":"<CreateTransitRouterPrefixListAssociationResponse>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</CreateTransitRouterPrefixListAssociationResponse>","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' => 'update',
+ '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 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****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TransitRouterRouteEntryName',
'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',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'TransitRouterRouteEntryDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPN attachment.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-attach-a6p8voaodog5c0****',
- ],
+ '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' => 'TransitRouterAttachmentName',
+ 'name' => 'TransitRouterRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the VPN attachment.'."\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',
- ],
+ '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' => 'TransitRouterAttachmentDescription',
+ 'name' => 'TransitRouterRouteEntryNextHopType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new description of the VPN attachment.'."\n"
- ."\n"
- .'The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ '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' => 'AutoPublishRouteEnabled',
+ 'name' => 'TransitRouterRouteEntryDestinationCidrBlock',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to allow the transit router to automatically advertise routes to the IPsec-VPN attachment. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => [
- 'description' => 'The result of the request.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '1AB038F2-96E5-560B-9F6E-734311D466FA',
- ],
+ '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' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterAttachmentId',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.OrderType',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationFailed.GrantCrossAccountNotExist',
- 'errorMessage' => 'Cross-account authorization 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' => '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1AB038F2-96E5-560B-9F6E-734311D466FA\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTransitRouterVpnAttachmentAttributeResponse>\\n <RequestId>1AB038F2-96E5-560B-9F6E-734311D466FA</RequestId>\\n</UpdateTransitRouterVpnAttachmentAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateTransitRouterVpnAttachmentAttribute',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterRouteEntryId\\": \\"rte-75eg4jprkvk0pw****\\",\\n \\"RequestId\\": \\"835E7F4B-B380-4E0F-96A5-6EA572388047\\"\\n}","type":"json"}]',
],
- 'ListTransitRouterVpnAttachments' => [
- 'summary' => 'Queries the information about VPN attachments, such as the status and billing method of a VPN attachment, and the ID of an IPsec-VPN connection.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateTransitRouterRouteTable' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'list',
- 'abilityTreeCode' => '138540',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
- ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-rsgxs8ng2awen2****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'TransitRouterRouteTableName',
'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',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'TransitRouterRouteTableDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPN attachment.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-a6p8voaodog5c0****',
- ],
+ '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 transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-p0wm740vjnbaprv0m****',
- ],
- ],
- [
- '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',
- ],
+ 'schema' => ['description' => 'The ID of the Enterprise Edition transit router instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'DryRun',
'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 subsequent queries are to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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 information about the tags that are added to the CEN instance.'."\n"
+ 'description' => 'The tag.'."\n"
."\n"
- .'You can query at most 20 tags in each call.'."\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 `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' => 'tagtest',
- ],
- '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' => 'value_A1',
- ],
+ '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' => '',
],
],
- ],
- 'responses' => [
- 200 => [
+ [
+ 'name' => 'RouteTableOptions',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The features of the route table.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the next query. Valid values:'."\n"
+ 'MultiRegionECMP' => [
+ 'description' => 'The multi-region equal-cost multi-path (ECMP) routing feature. Valid values:'."\n"
."\n"
- .'* If **NextToken** is not returned, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\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',
- 'example' => '3D5530D2-3BBB-524E-8E98-59AB06A250E4',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TransitRouterAttachments' => [
- 'description' => 'The information about the VPN attachment.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the VPN attachment.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'CreationTime' => [
- 'description' => 'The time when the VPN 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' => '2022-07-08T08:45Z',
- ],
- 'Status' => [
- 'description' => 'The status of the VPN connection. Valid values:'."\n"
- ."\n"
- .'* **Attached**'."\n"
- .'* **Attaching**'."\n"
- .'* **Detaching**'."\n",
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the VPN attachment.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-a6p8voaodog5c0****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-p0wm740vjnbaprv0m****',
- ],
- 'ResourceType' => [
- 'description' => 'The type of resource attached to the transit router.'."\n"
- ."\n"
- .'Only **VPN** may be returned, which indicates that an IPsec-VPN connection is attached to the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'VPN',
- ],
- 'VpnOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1210123456123456',
- ],
- 'VpnId' => [
- 'description' => 'The ID of the IPsec-VPN connection.'."\n",
- 'type' => 'string',
- 'example' => 'vco-p0wtu1xgd0l7fjo7k****',
- ],
- 'TransitRouterAttachmentDescription' => [
- 'description' => 'The description of the IPsec-VPN connection.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'VpnRegionId' => [
- 'description' => 'The ID of the region to which the IPsec-VPN connection belongs.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'AutoPublishRouteEnabled' => [
- 'description' => 'Indicates the transit router can automatically advertise routes to the IPsec connection. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'TransitRouterAttachmentName' => [
- 'description' => 'The name of the VPN attachment.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'Zones' => [
- 'description' => 'The zones in which the VPN attachment is deployed.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The zone in which the VPN attachment is deployed.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'ZoneId' => [
- 'description' => 'The zone ID.'."\n"
- ."\n"
- .'You can call the [DescribeZones](~~36064~~) operation to query the most recent zone list.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou-h',
- ],
- ],
- ],
- ],
- 'Tags' => [
- 'description' => 'A list of tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'value_A1',
- ],
- ],
- ],
- ],
- 'ChargeType' => [
- 'description' => 'The billing method of the VPN attachment.'."\n"
- ."\n"
- .'Only POSTPAY may be returned, which is the default pay-as-you-go billing method.'."\n",
- 'type' => 'string',
- 'example' => 'POSTPAY',
- ],
- 'CenId' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-j3jzhw1zpau2km****'."\n",
- ],
- 'OrderType' => [
- '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"
- .'* **PayByResourceOwner**: the Alibaba Cloud account that owns the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'PayByCenOwner',
- ],
- ],
- ],
+ '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' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrInstance',
- 'errorMessage' => 'The specified TransitRouter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified Region is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenIdOrRegionId',
- 'errorMessage' => 'The specified CenId or RegionId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterId',
- 'errorMessage' => 'The specified TransitRouterId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- '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"}]',
- 'title' => 'ListTransitRouterVpnAttachments',
- 'description' => 'You can use the following methods to call the ListTransitRouterVpnAttachments operation:'."\n"
+ '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"
- .'* Specify only the **TransitRouterAttachmentId** parameter to query the information about a VPN attachment.'."\n"
- .'* Specify only the **TransitRouterId** parameter to query the information about all VPN attachments on a transit router.'."\n"
- .'* Specify the **CenId** and **RegionId** parameter to query the information about VPN attachments in a specified region.'."\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"
- .'Before you call the **ListTransitRouterVpnAttachments** operation, make sure that all request parameters are valid. If a request parameter is invalid, a **request ID** is returned, but the information about the VPN attachments is not returned.'."\n",
- ],
- 'CreateTransitRouterVbrAttachment' => [
- 'summary' => 'Connects a virtual border router (VBR) to an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ .' - 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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -7783,352 +5261,207 @@
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72310',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ '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 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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
+ '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 call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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 must be 1 to 128 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'The description of the VBR connection.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vbr-bp1svadp4lq38janc****',
- ],
+ '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. The default value is the ID of the current Alibaba Cloud account.'."\n"
- ."\n"
- .'> If the network instance and CEN instance belong to different Alibaba Cloud accounts, this parameter is required.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1250123456123456',
- ],
+ '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): no'."\n"
- .'* **true**: yes'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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): 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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'The information about the tags.'."\n"
+ 'description' => 'Tag information.'."\n"
."\n"
- .'You can specify at most 20 tags in each call.'."\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 at most 20 tag keys.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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 at most 20 tag values in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TagValue',
- ],
+ '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.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the VBR connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-ia340z7xis7t5s****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'C087A369-82B9-43EF-91F4-4B63A9C6E6B6',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterRegionId',
- 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'CenId is not found.',
- ],
- [
- 'errorCode' => 'InvalidStatus.ResourceStatus',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'Forbbiden.TransitRouterServiceNotOpen',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'MissingParam.CenIdOrRegionId',
- 'errorMessage' => 'Either CenId or RegionId must be specified.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Vpc',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'Forbidden.VbrDeviceModel',
- 'errorMessage' => 'Attach VBR on some access device models are forbidden.',
- ],
- [
- 'errorCode' => 'IllegalParam.AssociateRouteTableId',
- 'errorMessage' => 'The specified AssociateRouteTableId is illegal.',
- ],
- [
- 'errorCode' => 'Forbbiden.AttachChildInstanceAcrossBid',
- 'errorMessage' => 'Operation is invalid, please apply for cross-bid attaching.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'RegionId is illegal.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CenFullLevel',
- 'errorMessage' => 'CEN full level does not support TransitRouter',
- ],
- [
- 'errorCode' => 'OperationUnsupported.VbrAttachment',
- 'errorMessage' => 'This region not support vbr attachment.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CloudBoxVbrNotSupport',
- 'errorMessage' => 'Cloud Box Vbr does not support.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VbrResource',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.CenQuotaVbrAttachPerTransitRouter',
- 'errorMessage' => 'The maximum number of VBR attachment per Transit Router is exceeded.',
- ],
- [
- 'errorCode' => 'QuotaFull.ChildInstanceRelatedCen',
- 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.',
- ],
- [
- 'errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen',
- 'errorMessage' => 'The resource owner user has not opened transit router service.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VbrAttachedToEcr',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.ResourceType',
- 'errorMessage' => 'The specified parameter ResourceType is invalid.',
- ],
+ ['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.',
- ],
+ ['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,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-ia340z7xis7t5s****\\",\\n \\"RequestId\\": \\"C087A369-82B9-43EF-91F4-4B63A9C6E6B6\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterVbrAttachmentResponse>\\n <TransitRouterAttachmentId>tr-attach-ia340z7xis7t5s****</TransitRouterAttachmentId>\\n <RequestId>C087A369-82B9-43EF-91F4-4B63A9C6E6B6</RequestId>\\n</CreateTransitRouterVbrAttachmentResponse>","errorExample":""}]',
+ 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterVbrAttachments', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateTransitRouterVbrAttachment',
- 'description' => '* For more information about the regions and zones that support Enterprise Edition transit routers, see [What is CEN?](~~181681~~)'."\n"
- ."\n"
- .'* You can use the following methods to create a VBR connection on an Enterprise Edition transit router:'."\n"
- ."\n"
- .' * If an Enterprise Edition transit router is already created in the region, specify the **VbrId**, **RegionId**, and **TransitRouterId** parameters to create a VBR connection.'."\n"
- .' * If no Enterprise Edition transit router is already created in the region, specify the **VbrId**, **CenId**, and **RegionId** parameters to create a VBR connection. When you create a VBR connection, the system automatically creates an Enterprise Edition transit router in the specified region.'."\n"
+ '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"
- .'* **CreateTransitRouterVbrAttachment** 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 **ListTransitRouterVbrAttachments** to query the status of a VBR connection.'."\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&#x20;**&#x70;arameters, 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, the VBR connection is being created. In this case, you can query the VBR connection but cannot perform other operations.'."\n"
- .' * If the VBR connection is in the **Attached** state, the VBR connection is created.'."\n"
- ."\n"
- .'* The transit router and the VBR must belong to the same Alibaba Cloud account.'."\n"
- ."\n"
- .'* Transit routers can connect to VBRs that belong to the same or a different Alibaba Cloud account. To connect a transit router to a VBR that belongs to a different Alibaba Cloud account, grant permissions on the VBR to the transit router. For more information, see [Grant a transit router permissions on a network instance that belongs to another Alibaba Cloud account](~~181553~~).'."\n"
- ."\n"
- .'* After you create a VBR connection, it is not in route learning or associated forwarding relationship with transit router route tables by default.'."\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' => ' ',
- ],
- 'DeleteTransitRouterVbrAttachment' => [
- 'summary' => 'Deletes a virtual border router (VBR) connection from an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -8137,396 +5470,445 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
- 'chargeType' => 'free',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '72311',
+ '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 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VBR connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-9nlnjv7by7n7a****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'TransitRouterId',
'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 the 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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
- 'name' => 'Force',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to forcibly delete the VBR connection. Valid values:'."\n"
- ."\n"
- .'* **false** (default): checks for resources related to the VBR connection, such as associated forwarding and route learning policies. If such resources exist, the VBR connection is not deleted and an error message is returned.'."\n"
- .'* **true**: deletes the VBR connection and related resources.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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' => ''],
],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'description' => 'The response.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '3EDA94DE-0AE5-41FC-A91E-7170E408E0FD',
- ],
- ],
- ],
+ [
+ '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' => ''],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'OperationFailed.RouteTableAssociationExist',
- 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteEntryExist',
- 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteTablePropagationExist',
- 'errorMessage' => 'The specified TransitRouterAttachment has configured RouteTablePropagation. Please remove the configuration first.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrAttachedVbrHa',
- 'errorMessage' => ' The operation is failed because of VbrAttachedVbrHa.',
- ],
- [
- 'errorCode' => 'OperationFailed.FlowLogExistOrNisOpened',
- 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'InstanceReferenced.VpcRouteEntry',
- 'errorMessage' => 'The specified attachment is referenced by vpc route entry.',
- ],
- [
- 'errorCode' => 'OperationFailed.NotSupportForceDelete',
- 'errorMessage' => 'Not support force delete attachment.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'The TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.PrefixListExist',
- 'errorMessage' => 'Operation failed because PrefixList exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrWithAllowPrefixes',
- 'errorMessage' => 'Operation failed because allow prefixes referenced by vbr exists.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InstanceReferenced.VbrRouteEntry',
- 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.',
- ],
+ [
+ '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' => ''],
],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3EDA94DE-0AE5-41FC-A91E-7170E408E0FD\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterVbrAttachmentResponse> \\r\\n<RequestId>3EDA94DE-0AE5-41FC-A91E-7170E408E0FD</RequestId>\\r\\n</DeleteTransitRouterVbrAttachmentResponse> ","errorExample":""}]',
- 'title' => 'DeleteTransitRouterVbrAttachment',
- 'description' => '**DeleteTransitRouterVbrAttachment** 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 **ListTransitRouterVbrAttachments** operation to query the status of a VBR connection.'."\n"
- ."\n"
- .'* If a VBR connection is in the **Detaching** state, the VBR connection is being deleted. You can query the VBR connection but cannot perform other operations.'."\n"
- .'* If a VBR connection cannot be found, the VBR connection is deleted.'."\n"
- ."\n"
- .'## Prerequisites'."\n"
- ."\n"
- .'Before you delete a VBR connection for an Enterprise Edition transit router, make sure that the following requirements are met:'."\n"
- ."\n"
- .'* No associated forwarding correlation is established between the VBR 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 VBR 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 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 route entries, see [DeleteTransitRouterRouteEntry](~~261240~~).'."\n"
- .'* The route tables of the Enterprise Edition transit router do not contain a route whose next hop is the VBR connection and that is generated from a prefix list. You can delete such routes by disassociating the route table from the prefix list. For more information, see [DeleteTransitRouterPrefixListAssociation](~~445486~~).'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'UpdateTransitRouterVbrAttachmentAttribute' => [
- 'summary' => 'Modifies the name, description, and enables or disables automatic route advertisement for a virtual border router (VBR) connection on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ 'name' => 'VpcId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1kbjcre9vtsebo1****', 'title' => ''],
],
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'VpcOwnerId',
'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-130e-11e9-8e44-001****',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'ChargeType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VBR connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-oyf70wfuorwx87****',
- ],
+ 'schema' => ['description' => 'The billing method. The default value is **POSTPAY** (pay-as-you-go).', 'type' => 'string', 'required' => false, 'example' => 'POSTPAY', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentName',
+ '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 new name of the VBR connection.'."\n"
+ '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"
- .'The name must be 1 to 128 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
+ .'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' => 'TransitRouterAttachmentDescription',
+ '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 new description of the VBR connection.'."\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.'."\n",
- 'type' => 'string',
+ 'description' => 'The properties of the VPC connection. This parameter is deprecated. We recommend that you use the `Options` parameter instead.',
+ 'type' => 'object',
'required' => false,
- 'example' => 'testdesc',
+ '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' => 'AutoPublishRouteEnabled',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to allow the Enterprise Edition transit router to automatically advertise routes to the VBR. Valid values:'."\n"
+ 'description' => 'The tags to add to the VPC connection.'."\n"
."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
+ .'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,
- 'example' => 'true',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'Options',
'in' => 'query',
+ 'style' => 'json',
'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. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\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",
- 'type' => 'boolean',
+ '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' => 'false',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '91B36DC3-FF8A-45C3-AC1E-456B1789136D',
- ],
+ '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' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterAttachment',
- 'errorMessage' => 'The status of TransitRouterAttachment is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.OrderType',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationFailed.GrantCrossAccountNotExist',
- 'errorMessage' => 'Cross-account authorization does not exist.',
- ],
+ ['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' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91B36DC3-FF8A-45C3-AC1E-456B1789136D\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTransitRouterVbrAttachmentAttributeResponse>\\n <RequestId>91B36DC3-FF8A-45C3-AC1E-456B1789136D</RequestId>\\n</UpdateTransitRouterVbrAttachmentAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateTransitRouterVbrAttachmentAttribute',
- 'description' => '**UpdateTransitRouterVbrAttachmentAttribute** 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 **ListTransitRouterVbrAttachments** operation to query the status of a VBR connection.'."\n"
+ '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 a VBR connection is in the **Modifying** state, the VBR connection is being modified. You can query the VBR connection but cannot perform other operations.'."\n"
- .'* If the VBR connection is in the **Attached** state, the VBR connection is modified.'."\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"}]',
],
- 'ListTransitRouterVbrAttachments' => [
- 'summary' => 'Queries the virtual border router (VBR) connections on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'list',
+ '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 IDs of the CEN instances.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
+ '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 region ID of the Enterprise Edition transit router.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'TransitRouterAttachmentName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VBR connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-oyf70wfuorwx87****',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
+ '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' => 'MaxResults',
+ 'name' => 'VpnId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-p0w042cqwvlhl4zyw****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ '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 pagination token that is used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
+ '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,
- 'example' => 'dd20****',
+ 'maxItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
[
@@ -8534,549 +5916,370 @@
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The information about the tags.'."\n"
+ 'description' => 'The tags.'."\n"
."\n"
- .'You can specify at most 20 tags in each call.'."\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 `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' => 'tagtest',
- ],
- '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' => 'tagtest',
- ],
+ '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 parameters.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'dd20****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'F42D9616-29EB-4E75-8CA8-9654D4E07501',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TransitRouterAttachments' => [
- 'description' => 'A list of VBR connections.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'CreationTime' => [
- 'description' => 'The time when the VBR 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-15T15:20Z',
- ],
- 'Status' => [
- 'description' => 'The status of the VBR connection. Valid values:'."\n"
- ."\n"
- .'* **Attached**'."\n"
- .'* **Attaching**'."\n"
- .'* **Detaching**'."\n"
- .'* **Detached**'."\n",
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the VBR connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-oyf70wfuorwx87****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The description of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
- 'ResourceType' => [
- 'description' => 'The type of resource to which the transit router is connected. Valid values:'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **CCN**'."\n"
- .'* **VBR**'."\n"
- .'* **TR**'."\n",
- 'type' => 'string',
- 'example' => 'VBR',
- ],
- 'VbrRegionId' => [
- 'description' => 'The region ID of the VBR.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'TransitRouterAttachmentDescription' => [
- 'description' => 'The description of the VBR connection.'."\n",
- 'type' => 'string',
- 'example' => 'testdesc',
- ],
- 'VbrOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1688111111111111',
- ],
- 'AutoPublishRouteEnabled' => [
- 'description' => 'Indicates whether the Enterprise Edition transit router is allowed to automatically advertise routes to the VBR. Valid values:'."\n"
- ."\n"
- .'* **false** (default)'."\n"
- .'* **true**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'VbrId' => [
- 'description' => 'The VBR ID.'."\n",
- 'type' => 'string',
- 'example' => 'vbr-bp1svadp4lq38janc****',
- ],
- 'TransitRouterAttachmentName' => [
- 'description' => 'The name of the VBR connection.'."\n",
- 'type' => 'string',
- 'example' => 'testa',
- ],
- 'Tags' => [
- 'description' => 'A list of tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'value_A1',
- ],
- ],
- ],
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-j3jzhw1zpau2km****'."\n",
- ],
- 'OrderType' => [
- '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"
- .'* **PayByResourceOwner**: the Alibaba Cloud account that owns the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'PayByCenOwner',
- ],
- ],
- ],
- ],
+ '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' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrInstance',
- 'errorMessage' => 'The specified TransitRouter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified Region is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterId',
- 'errorMessage' => 'The specified TransitRouterId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenIdOrRegionId',
- 'errorMessage' => 'The specified CenId or RegionId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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' => '[{"type":"json","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 \\"OrderType\\": \\"PayByCenOwner\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTransitRouterVbrAttachmentsResponse> \\n<TotalCount>1</TotalCount>\\n<RequestId>F42D9616-29EB-4E75-8CA8-9654D4E07501</RequestId>\\n<MaxResults>20</MaxResults>\\n<TransitRouterAttachments>\\n <TransitRouterAttachmentId>tr-attach-oyf70wfuorwx87****</TransitRouterAttachmentId>\\n <Status>Attached</Status>\\n <AutoPublishRouteEnabled>false</AutoPublishRouteEnabled>\\n <VbrOwnerId>1688111111111111</VbrOwnerId>\\n <CreationTime>2021-06-15T15:20Z</CreationTime>\\n <TransitRouterAttachmentName>testa</TransitRouterAttachmentName>\\n <VbrRegionId>cn-hangzhou</VbrRegionId>\\n <ResourceType>VBR</ResourceType>\\n <VbrId>vbr-bp1svadp4lq38janc****</VbrId>\\n</TransitRouterAttachments>\\n</ListTransitRouterVbrAttachmentsResponse> ","errorExample":""}]',
- 'title' => 'ListTransitRouterVbrAttachments',
- 'description' => 'You can use the following methods to query VBR connections on an Enterprise Edition transit router:'."\n"
- ."\n"
- .'* Specify the ID of the Enterprise Edition transit router.'."\n"
- .'* Specify the ID of the relevant Cloud Enterprise Network (CEN) instance and the region ID of the Enterprise Edition transit router.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-y5dup2qwfyh9lu****\\",\\n \\"RequestId\\": \\"8B5DD40A-3A29-5AC0-B8DA-05FD10D5C893\\"\\n}","type":"json"}]',
],
- 'AttachCenChildInstance' => [
- 'summary' => 'Attaches a network instance to a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeactiveFlowLog' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '72288',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72312',
+ 'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06'],
],
'parameters' => [
[
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
- ],
- [
- 'name' => 'ChildInstanceId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance that you want to attach to the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp18sth14qii3pnvx****',
- ],
+ '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' => 'ChildInstanceType',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **CCN**: CCN instance'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
+ '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' => 'ChildInstanceRegionId',
+ 'name' => 'FlowLogId',
'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' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'flowlog-m5evbtbpt****'],
],
[
- 'name' => 'ChildInstanceOwnerId',
+ 'name' => 'CenId',
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1688000000000000',
- ],
+ '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' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A',
- ],
+ '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' => 'Forbbiden.AttachChildInstanceAcrossBid',
- 'errorMessage' => 'Operation is invalid, please apply for cross-bid attaching.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcSwitch',
- 'errorMessage' => 'Operation is failed because some virtual switch is modifying within the same VPC.',
- ],
- [
- 'errorCode' => 'Forbbiden.CloudBoxVSwitchExist',
- 'errorMessage' => 'The operation is not allowed because of cloud box vswitch existed.',
- ],
- [
- 'errorCode' => 'OperationFailed.InvalidVpcStatus',
- 'errorMessage' => 'Operation is failed because the child-instance is configuring.',
- ],
- [
- 'errorCode' => 'OperationFailed.InvalidTransitRouter',
- 'errorMessage' => 'Operation failed because the transit router is not supported.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CenFullLevel',
- 'errorMessage' => 'CEN full level does not support vpn bgp.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcRouteTable',
- 'errorMessage' => 'The VPC route table is not in a desired state.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VbrAttachedToEcr',
- 'errorMessage' => 'VBR has alreay attached to ECR.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.VpcRoutePropagationSource',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'The specified RegionId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 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.',
- ],
- ],
- [
- [
- 'errorCode' => 'Bid.NotFound',
- 'errorMessage' => 'Not found childInstance Bid by specified AliUid.',
- ],
- [
- 'errorCode' => 'Operation.FailedAndTryAgain',
- 'errorMessage' => 'Fail to get customer label by the specified aliUid.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'InvalidOperation.ChildInstanceRIAlreadyExist',
- 'errorMessage' => 'Operation is invalid because the child-instance has already been attached to Express Connect.',
- ],
- [
- 'errorCode' => 'Forbbiden.AttachChildInstanceAcrossUid',
- 'errorMessage' => 'Operation is invalid because the child-instance is not authorized to CEN.',
- ],
- [
- 'errorCode' => 'InvalidOperation.ChildInstanceAlreadyAttached',
- 'errorMessage' => 'Operation is invalid because the child-instance has already been attached to another CEN.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenAlreadyAutoPubilshRouteToInstance',
- 'errorMessage' => 'Operation is invalid because other cen has already auto published route to this instance.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeCenAttachedChildInstanceAttribute',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachCenChildInstanceResponse>\\n <RequestId>A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A</RequestId>\\n</AttachCenChildInstanceResponse>","errorExample":""}]',
- '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"
+ ['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"
- .'* 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.'."\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' => ' ',
- ],
- 'DetachCenChildInstance' => [
- 'summary' => 'Detaches a network instance from a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72369',
- 'abilityTreeNodes' => [
- 'FEATUREcbnY9DL3F',
- ],
+ 'abilityTreeCode' => '72315',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmx****',
- ],
+ 'schema' => ['description' => 'The CEN instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
- [
- 'name' => 'ChildInstanceId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
'schema' => [
- 'description' => 'The ID of the network instance that you want to detach from the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp18sth14qii3pnvx****',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- '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",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
+ ],
+ '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' => [
[
- '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' => 'cn-hangzhou',
+ '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' => [
[
- 'name' => 'ChildInstanceOwnerId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1699000000000000',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete'],
+ 'parameters' => [
[
- 'name' => 'CenOwnerId',
+ 'name' => 'CenBandwidthPackageId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1688000000000000',
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cenbwp-4c2zaavbvh5f42****'],
],
],
'responses' => [
@@ -9084,419 +6287,230 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA'],
],
+ '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.',
- ],
- [
- 'errorCode' => 'Forbidden.OptimizationCCNExisted',
- 'errorMessage' => 'Operation Forbidden. CCN with optimization is on, please turn it off firstly.',
- ],
- [
- 'errorCode' => 'Forbidden.PrivatezoneRouteExisted',
- 'errorMessage' => 'Operation Forbidden. There is a Privatezone Route associated with the instance, please dessociate it firstly.',
- ],
- [
- 'errorCode' => 'Forbidden.TypeInvalid',
- 'errorMessage' => 'The specified ChildInstanceType or TransitRouterType is not supported by this operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Vpc',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrAttachedVbrHa',
- 'errorMessage' => ' The operation is failed because of VbrAttachedVbrHa.',
- ],
- [
- 'errorCode' => 'OperationFailed.RIInstanceExist',
- 'errorMessage' => 'Operation is failed because RI exists.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcRouteTable',
- 'errorMessage' => 'The VPC route table is not in a desired state.',
- ],
- [
- 'errorCode' => 'OperationFailed.CenReferencedVpcRouteEntryExisted',
- 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified cen.',
- ],
- [
- 'errorCode' => 'InvalidOperation.BondVbrAssociated',
- 'errorMessage' => 'Illegal operation due to associated BondVBR.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrWithAllowPrefixes',
- 'errorMessage' => 'Operation failed because allow prefixes referenced by vbr exists.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CustomRegionDomainRouteEntryExist',
- 'errorMessage' => 'Operation is invalid because custom region-domain route entry exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'OperationNotPermitted.AttachmentManagedByCloudService',
- 'errorMessage' => 'The specified Attachment managed by cloud service can only be deleted through cloud service.',
- ],
- [
- 'errorCode' => 'InvalidStatus.ResourceStatus',
- 'errorMessage' => 'The resource is not in a valid state for the attachment 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' => 'Bid.NotFound',
- 'errorMessage' => 'Not found Bid by specified AliUid.',
- ],
+ 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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeCenAttachedChildInstanceAttribute',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}"},{"type":"xml","example":"<DetachCenChildInstanceResponse>\\r\\n<RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\r\\n</DetachCenChildInstanceResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DetachCenChildInstanceResponse>\\n <RequestId>5903EE99-D542-4E14-BC65-AAC1CB2D3D03</RequestId>\\n</DetachCenChildInstanceResponse>"}]',
- 'title' => 'DetachCenChildInstance',
+ 'title' => 'DeleteCenBandwidthPackage',
+ 'summary' => 'Deletes a bandwidth plan.',
+ 'description' => '<props="china">'."\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"
+ .'</props>'."\n"
+ ."\n"
+ .'<props="intl">'."\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"
+ .'</props>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- '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',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCenBandwidthPackage'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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 CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-5mv960yjhja0dh****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-wgcl0ik5o8jakq****', 'title' => ''],
],
[
- 'name' => 'ChildInstanceId',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance that is attached to the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-2zebdboka7d7t37vo****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r1qhupkc19iadz****', 'title' => ''],
],
[
- 'name' => 'ChildInstanceType',
+ 'name' => 'RouteTableId',
'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",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
+ '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' => 'ChildInstanceRegionId',
+ 'name' => 'DestinationCidrBlock',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-beijing',
- ],
+ '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' => [
- '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.'."\n",
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- 'ChildInstanceType' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **CCN**: CCN instance'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'ChildInstanceRegionId' => [
- 'description' => 'The region ID of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'cn-beijing',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'ADD98358-D265-4060-87CB-A2427F5A8944',
- ],
- 'ChildInstanceOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1688000000000000',
- ],
- 'ChildInstanceId' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-2zebdboka7d7t37vo****',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-5mv960yjhja0dh****',
- ],
- 'ManagedService' => [
- 'type' => 'string',
- ],
- '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.'."\n",
- 'type' => 'string',
- 'example' => '2018-07-30T07:53Z',
- ],
- 'ChildInstanceAttributes' => [
- 'description' => 'The details about the network instance.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'CidrBlock' => [
- 'description' => 'The IPv4 CIDR block of the VPC.',
- 'type' => 'string',
- 'example' => '192.168.0.0/16',
- ],
- 'SecondaryCidrBlocks' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'secondaryCidrBlock' => [
- 'description' => 'The information about the VPC secondary CIDR block.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The secondary IPv4 CIDR block of the VPC.'."\n",
- 'type' => 'string',
- 'example' => '192.168.20.0/24',
- ],
- ],
- ],
- ],
- 'Ipv6CidrBlock' => [
- 'description' => 'The IPv6 CIDR block of the VPC.',
- 'type' => 'string',
- 'example' => '2408:XXXX:0:a600::/56',
- ],
- 'Ipv6CidrBlocks' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'ipv6CidrBlock' => [
- 'description' => 'The IPv6 CIDR blocks of the VPC.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- '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.'."\n",
- 'type' => 'string',
- 'example' => 'BGP',
- ],
- 'Ipv6CidrBlock' => [
- 'description' => 'The IPv6 CIDR block of the VPC.'."\n",
- 'type' => 'string',
- 'example' => '2408:XXXX:0:6a::/56',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'ChildInstanceName' => [
- 'description' => 'The name of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'defaultvpc',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '250E717B-9823-5FD8-A1C6-5714234FB825', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'The system is busy. Please try again later.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
- 404 => [
- [
- 'errorCode' => 'ParameterError',
- 'errorMessage' => 'The parameter is error.',
+ ],
+ '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' => '[{"type":"json","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}","errorExample":"{\\n \\"Status\\": \\"Attached\\", \\n \\"ChildInstanceOwnerId\\": \\"1196226963299553\\", \\n \\"ChildInstanceId\\": \\"vpc-2zebdboka7d7t37vo2i7n\\", \\n \\"RequestId\\": \\"ADD98358-D265-4060-87CB-A2427F5A8944\\", \\n \\"ChildInstanceName\\": \\"defaultvpc\\", \\n \\"ChildInstanceRegionId\\": \\"cn-beijing\\", \\n \\"CenId\\": \\"cen-5mv960yjhja0dh7qsb\\", \\n \\"ChildInstanceAttachTime\\": \\"2018-07-30T07:53Z\\", \\n \\"ChildInstanceType\\": \\"VPC\\"\\n}}\\n"},{"type":"xml","example":"<DescribeCenAttachedChildInstanceAttributeResponse>\\n <Status>Attached</Status>\\n <ChildInstanceOwnerId>1688000000000000</ChildInstanceOwnerId>\\n <ChildInstanceId>vpc-2zebdboka7d7t37vo****</ChildInstanceId>\\n <RequestId>ADD98358-D265-4060-87CB-A2427F5A8944</RequestId>\\n <ChildInstanceName>defaultvpc</ChildInstanceName>\\n <ChildInstanceRegionId>cn-beijing</ChildInstanceRegionId>\\n <CenId>cen-5mv960yjhja0dh****</CenId>\\n <ChildInstanceAttachTime>2018-07-30T07:53Z</ChildInstanceAttachTime>\\n <ChildInstanceType>VPC</ChildInstanceType>\\n</DescribeCenAttachedChildInstanceAttributeResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeCenAttachedChildInstanceAttribute>\\n <Status>Attached</Status>\\n <ChildInstanceOwnerId>1196226963299553</ChildInstanceOwnerId>\\n <ChildInstanceId>vpc-2zebdboka7d7t37vo2i7n</ChildInstanceId>\\n <RequestId>ADD98358-D265-4060-87CB-A2427F5A8944</RequestId>\\n <ChildInstanceName>defaultvpc</ChildInstanceName>\\n <ChildInstanceRegionId>cn-beijing</ChildInstanceRegionId>\\n <CenId>cen-5mv960yjhja0dh7qsb</CenId>\\n <ChildInstanceAttachTime>2018-07-30T07:53Z</ChildInstanceAttachTime>\\n <ChildInstanceType>VPC</ChildInstanceType>\\n</DescribeCenAttachedChildInstanceAttribute>\\n"}]',
- 'title' => 'DescribeCenAttachedChildInstanceAttribute',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"250E717B-9823-5FD8-A1C6-5714234FB825\\"\\n}","type":"json"}]',
],
- 'DescribeCenAttachedChildInstances' => [
- 'summary' => 'Queries the network instances that are attached to a CEN instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteCenChildInstanceRouteEntryToCen' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'CenId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7febra5nqj7jjh****', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-k1alm2jbuwibhxtx2****', 'title' => ''],
],
[
- 'name' => 'CenId',
+ 'name' => 'ChildInstanceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
+ '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' => 'ChildInstanceType',
+ 'name' => 'ChildInstanceRegionId',
'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",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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' => 'ChildInstanceRegionId',
+ 'name' => 'ChildInstanceAliUid',
'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' => false,
- 'example' => 'cn-zhangjiakou',
- ],
+ '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' => [
@@ -9504,2043 +6518,1217 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'B2063B16-852B-5B66-B73D-4ED4D1A5E5C2',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'ChildInstances' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'ChildInstance' => [
- 'description' => 'The information about the network instances.'."\n",
- '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'."\n",
- 'type' => 'string',
- '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.'."\n",
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- 'ChildInstanceRegionId' => [
- 'description' => 'The ID of the region where the network instance is deployed.'."\n",
- 'type' => 'string',
- 'example' => 'cn-zhangjiakou',
- ],
- 'ChildInstanceOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1688000000000000',
- ],
- 'ChildInstanceId' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-8vb1lu55yt9rlwgxl****',
- ],
- 'ManagedService' => [
- 'type' => 'string',
- ],
- '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.'."\n",
- 'type' => 'string',
- 'example' => '2021-08-10T06:27Z',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
- ],
- 'description' => '',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C05000A4-2FC5-5B2C-9527-954044DE2CF3', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":"{\\n \\"PageNumber\\":1,\\n \\"ChildInstances\\":{\\n \\"ChildInstance\\":[\\n {\\n \\"Status\\":\\"Attached\\",\\n \\"ChildInstanceOwnerId\\":\\"1894573272823690\\",\\n \\"ChildInstanceId\\":\\"vpc-hp3kz27b1uv9hsmm9vqiv\\",\\n \\"ChildInstanceRegionId\\":\\"cn-huhehaote\\",\\n \\"CenId\\":\\"cen-kojok19x3j0q6kx5qf\\",\\n \\"ChildInstanceType\\":\\"VPC\\"\\n },\\n {\\n \\"Status\\":\\"Attached\\",\\n \\"ChildInstanceOwnerId\\":\\"1894573272823690\\",\\n \\"ChildInstanceId\\":\\"vpc-gw85r5kr8urw957szm455\\",\\n \\"ChildInstanceRegionId\\":\\"eu-central-1\\",\\n \\"CenId\\":\\"cen-kojok19x3j0q6kx5qf\\",\\n \\"ChildInstanceType\\":\\"VPC\\"\\n }\\n ]\\n },\\n \\"TotalCount\\":3,\\n \\"PageSize\\":10,\\n \\"RequestId\\":\\"50F8E0AB-A225-41C0-AC88-FFB51A4F5C72\\"\\n}"},{"type":"xml","example":"<DescribeCenAttachedChildInstancesResponse>\\n<TotalCount>1</TotalCount>\\n<PageSize>10</PageSize>\\n<RequestId>B2063B16-852B-5B66-B73D-4ED4D1A5E5C2</RequestId>\\n<PageNumber>1</PageNumber>\\n<ChildInstances>\\n <ChildInstance>\\n <Status>Attached</Status>\\n <ChildInstanceType>VPC</ChildInstanceType>\\n <CenId>cen-j3jzhw1zpau2kmscxd</CenId>\\n <ChildInstanceAttachTime>2021-08-10T06:27Z</ChildInstanceAttachTime>\\n <ChildInstanceOwnerId>1688401595963306</ChildInstanceOwnerId>\\n <ChildInstanceId>vpc-8vb1lu55yt9rlwgxlu83b</ChildInstanceId>\\n <ChildInstanceRegionId>cn-zhangjiakou</ChildInstanceRegionId>\\n </ChildInstance>\\n</ChildInstances>\\n</DescribeCenAttachedChildInstancesResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeCenAttachedChildInstancesResponse>\\n <ChildInstances <ChildInstance>\\n <CenId>cen-kojok19x3j0q6kx5qf</CenId>\\n <ChildInstanceId>vpc-hp3kz27b1uv9hsmm9vqiv</ChildInstanceId>\\n <ChildInstanceOwnerId>1894573272823690</ChildInstanceOwnerId>\\n <ChildInstanceRegionId>cn-huhehaote</ChildInstanceRegionId>\\n <ChildInstanceType>VPC</ChildInstanceType>\\n <Status>Attached</Satus>\\n </ChildIntance>\\n <ChildInstance>\\n <CenId>cen-kojok19x3j0q6kx5qf</CenId>\\n <ChildInstanceId>vpc-gw85r5kr8urw957szm455</ChildInstanceId>\\n <ChildInstanceOwnerId>1894573272823690</ChildInstanceOwnerId>\\n <ChildInstanceRegionId>eu-central-1</ChildInstanceRegionId>\\n <ChildInstanceType>VPC</ChildInstanceType>\\n <Status>Attched</Status>\\n e>\\n </ChildInstance>\\n </ChildInstances>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RequestId>50F8E0AB-A225-41C0-AC88-FFB51A4F5C72</RequestId>\\n <TotalCount>3</TotalCount>\\n</DescribeCenAttachedChildInstancesResponse>"}]',
- 'title' => 'DescribeCenAttachedChildInstances',
- '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"
+ '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, <props="china">[submit a ticket](https://selfservice.console.aliyun.com/ticket/category/cbn/today)</props><props="intl">[submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex)</props>.'."\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.'."\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' => ' ',
- ],
- 'DescribeChildInstanceRegions' => [
- 'summary' => 'Queries the regions in which you can attach network instances to Cloud Enterprise Network (CEN) instances.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ProductType',
+ 'name' => 'ClientToken',
'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",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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' => 'AcceptLanguage',
+ 'name' => 'DryRun',
'in' => 'query',
- 'allowEmptyValue' => true,
- 'schema' => [
- 'description' => 'The language of the response. Valid values: zh-CN (Chinese, which is the default language), en-US (English), and ja (Japanese).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh-CN',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'example' => 'D5CEED59-36AA-47CC-9D81-16F71C46BD80',
- ],
- 'Regions' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Region' => [
- 'description' => 'A list of regions.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'LocalName' => [
- 'description' => 'The name of the region.'."\n",
- 'type' => 'string',
- 'example' => 'China (Hangzhou)'."\n",
- ],
- 'RegionId' => [
- 'description' => 'The ID of the region.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MissingParameter.OwnerIdOrOwnerAccount',
- 'errorMessage' => 'The input parameter OwnerAccount or OwnerId that is mandatory for processing this request is not supplied',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => [
- 'returnType' => 'synchronous',
+ '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'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D5CEED59-36AA-47CC-9D81-16F71C46BD80\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"华东 1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeChildInstanceRegionsResponse>\\n<RequestId>D5CEED59-36AA-47CC-9D81-16F71C46BD80</RequestId>\\n<Regions>\\n <Region>\\n <RegionId>cn-hangzhou</RegionId>\\n <LocalName>华东 1</LocalName>\\n </Region>\\n</Regions>\\n</DescribeChildInstanceRegionsResponse>","errorExample":""}]',
- 'title' => 'DescribeChildInstanceRegions',
- 'description' => 'The regions that support CEN vary based on the network instance type. To query the regions where you can attach a specified type of network instance to CEN, set the `ProductType` parameter. If you do not set the `ProductType` parameter, the system queries all regions in which you can attach network instances to CEN, regardless of the network instance type.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeGrantRulesToCen' => [
- 'summary' => 'Queries the network instances of other Alibaba Cloud accounts that have granted permissions to a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenInterRegionTrafficQosPolicy'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72362',
- 'abilityTreeNodes' => [
- 'FEATUREcbnOQ547T',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'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 the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-nye53d7p3hzyu4****',
- ],
- ],
- [
- 'name' => 'ProductType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **CCN**'."\n"
- .'* **VPN**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
- ],
- [
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => '* If you do not set **MaxResults**, it indicates that you do not need to query results in batches. The value of **MaxResults** in the response indicates the total number of entries returned.'."\n"
- .'* If you specify a value for **MaxResults**, it indicates that you need to query results in batches. The value of **MaxResults** indicates the number of entries to return in each batch. Valid values: **1** to **100**. The value of **MaxResults** in the response indicates the number of entries in the current batch. We recommend that you set **MaxResults** to **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'maximum' => '100',
- 'minimum' => '0',
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* You do not need to specify this parameter for the first request.'."\n"
- .'* You must specify the token that is obtained from the previous query as the value of **NextToken**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- ],
- [
- 'name' => 'ChildInstanceId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-rj9gt5nll27onu7****',
- ],
+ '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' => 'ChildInstanceOwnerId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '125012345612****',
- ],
+ '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' => 'EnabledIpv6',
+ 'name' => 'QosQueueId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable IPv6.'."\n"
- ."\n"
- .'1. This parameter takes effect only if ProductType is set to VPC.'."\n"
- .'2. true: enables IPv6. false: disables IPv6. If you do not specify a value, network instances are not filtered based on this parameter.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The ID of the queue.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'qos-queue-nv2vfzqkewhk4t****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4906B209-8613-5C19-9CC9-B7A3FFDA731C',
- ],
- 'GrantRules' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'GrantRule' => [
- 'description' => 'The permissions that are granted to the CEN instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The queried network instances.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'ChildInstanceType' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **CCN**: CCN instance'."\n"
- .'* **VPN**: IPsec-VPN connection'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'ChildInstanceRegionId' => [
- 'description' => 'The region ID of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'ChildInstanceOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1250123456123456',
- ],
- 'ChildInstanceId' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp1rgeww9mdstuuar****',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-nye53d7p3hzyu4****',
- ],
- 'OrderType' => [
- 'description' => 'The entity that pays the fees of the network instance. Valid values:'."\n"
- ."\n"
- .'* **PayByCenOwner**: The fees of the connections and data forwarding on the transit router are paid by the Alibaba Cloud account to which the CEN instance belongs.'."\n"
- .'* **PayByResourceOwner**: The fees of the connections and data forwarding on the transit router are paid by the Alibaba Cloud account to which the network instance belongs.'."\n",
- 'type' => 'string',
- 'example' => 'PayByCenOwner',
- 'title' => '网络实例的付费方',
- ],
- 'CenOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1210123456123456',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the permissions were granted to the CEN instance.'."\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' => 'integer',
- 'format' => 'int64',
- 'example' => '2024-01-24T16:27Z',
- ],
- ],
- ],
- ],
- ],
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => '* If no value is specified for **MaxResults**, query results are returned in one batch. The value of **MaxResults** indicates the total number of entries.'."\n"
- .'* If a value is specified for **MaxResults**, it indicates that you need to query results in batches. The value of **MaxResults** in the response indicates the number of entries in the current batch.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '20',
- ],
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'MissingParameter',
- 'errorMessage' => 'Missing parameter.',
- ],
- [
- 'errorCode' => 'InvalidParameter.RegionId',
- 'errorMessage' => 'The specified Region Id is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'NextToken is illegal',
- ],
- [
- 'errorCode' => 'MissingParameter.RegionId',
- 'errorMessage' => 'Missing RegionId parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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'],
],
- 'responseDemo' => '[{"type":"json","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 \\"CenOwnerId\\": 1210123456123456,\\n \\"CreateTime\\": 0\\n }\\n ]\\n },\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeGrantRulesToCenResponse>\\n <RequestId>4906B209-8613-5C19-9CC9-B7A3FFDA731C</RequestId>\\n <GrantRules>\\n <ChildInstanceType>VPC</ChildInstanceType>\\n <ChildInstanceRegionId>cn-hangzhou</ChildInstanceRegionId>\\n <ChildInstanceOwnerId>1250123456123456</ChildInstanceOwnerId>\\n <ChildInstanceId>vpc-bp1rgeww9mdstuuar****</ChildInstanceId>\\n <CenId>cen-nye53d7p3hzyu4****</CenId>\\n <OrderType>PayByCenOwner</OrderType>\\n <CenOwnerId>1210123456123456</CenOwnerId>\\n </GrantRules>\\n <TotalCount>1</TotalCount>\\n <MaxResults>20</MaxResults>\\n</DescribeGrantRulesToCenResponse>","errorExample":""}]',
- 'title' => 'DescribeGrantRulesToCen',
- 'description' => 'Before you call the **DescribeGrantRulesToCen** operation, make sure that all request parameters are valid. If a request parameter is invalid, a **request ID** is returned, but the network instances are not returned.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListGrantVSwitchesToCen' => [
- 'summary' => 'Queries the vSwitches in a virtual private cloud (VPC) that belongs to another Alibaba Cloud account and is attached to a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenInterRegionTrafficQosQueue'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72385',
- 'abilityTreeNodes' => [
- 'FEATUREcbnOQ547T',
- ],
+ 'abilityTreeCode' => '72322',
+ 'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the VPC.'."\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',
- ],
- ],
- [
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-44m0p68spvlrqq****',
- ],
- ],
- [
- 'name' => 'VpcId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The VPC ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp12ge2tq5gzdc915****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jm****', '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,
- 'maximum' => '1000',
- 'minimum' => '0',
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '50',
- 'minimum' => '1',
- 'example' => '10',
- ],
- ],
- [
- 'name' => 'ZoneId',
+ 'name' => 'CenRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the zone.'."\n"
- ."\n"
- .'* If you specify a zone ID, the system queries the information about the vSwitches in the specified zone.'."\n"
- .'* If you do not specify a zone ID, the system queries the information about the vSwitches in all zones.'."\n"
- ."\n"
- .'You can call the [DescribeZones](~~36064~~) operation to query the most recent zone list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou-h',
- ],
+ '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' => 'EnabledIpv6',
+ 'name' => 'RouteMapId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable IPv6. true: enables IPv6. false: disables IPv6. If you do not specify a value, vSwitches are not filtered based on this attribute.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The ID of the routing policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenrmap-abcdedfghij****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'A9288C78-881A-5D30-A8A9-68E05EE0A086',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'VSwitches' => [
- 'description' => 'The list of vSwitches.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'VpcId' => [
- 'description' => 'The ID of the VPC to which the vSwitch belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp12ge2tq5gzdc915****',
- ],
- 'ZoneId' => [
- 'description' => 'The ID of the zone to which the vSwitch belongs.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou-h',
- ],
- 'VSwitchId' => [
- 'description' => 'The ID of the vSwitch.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-bp1194lh263wx1gsk****',
- ],
- 'VSwitchName' => [
- 'description' => 'The name of the vSwitch.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => 'synchronous',
- ],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListGrantVSwitchesToCenResponse>\\n <PageSize>10</PageSize>\\n <RequestId>A9288C78-881A-5D30-A8A9-68E05EE0A086</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>2</TotalCount>\\n <VSwitches>\\n <VpcId>vpc-bp12ge2tq5gzdc915****</VpcId>\\n <ZoneId>cn-hangzhou-h</ZoneId>\\n <VSwitchId>vsw-bp1194lh263wx1gsk****</VSwitchId>\\n <VSwitchName>nametest</VSwitchName>\\n </VSwitches>\\n</ListGrantVSwitchesToCenResponse>","errorExample":""}]',
- 'title' => 'ListGrantVSwitchesToCen',
- 'description' => 'Before you call the `ListGrantVSwitchesToCen` operation, make sure that the following requirements are met:'."\n"
- ."\n"
- .'* The permissions on the VPC are granted to the CEN instance. For more information, see [GrantInstanceToCen](~~126224~~).'."\n"
+ '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"
- .'* The VPC is attached to the CEN instance.'."\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"
- .' * For more information about how to connect an Enterprise Edition transit router to a VPC, see [CreateTransitRouterVpcAttachment](~~261358~~).'."\n"
- .' * For more information about how to connect a Basic Edition transit router to a VPC, see [AttachCenChildInstance](~~65902~~).',
- ],
- 'CreateCenBandwidthPackage' => [
- 'summary' => 'Creates a bandwidth plan.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'delete',
'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '75161',
- 'abilityTreeNodes' => [
- 'FEATUREcbn7IORX8',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72323',
+ '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 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'Name',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the bandwidth plan.'."\n"
- ."\n"
- .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter and cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ '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' => 'Description',
+ 'name' => 'FlowLogId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'namedesc',
- ],
+ 'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'flowlog-m5evbtbpt****'],
],
[
- 'name' => 'Bandwidth',
+ '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 maximum bandwidth value of the bandwidth plan. Unit: Mbit/s. Valid values: **2** to **10000**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '2',
+ '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' => [
[
- 'name' => 'GeographicRegionAId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The area where the network instance is deployed. Valid values:'."\n"
- ."\n"
- .'* **China**: Chinese mainland'."\n"
- .'* **North-America**: North America'."\n"
- .'* **Asia-Pacific**: Asia Pacific'."\n"
- .'* **Europe**: Europe',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'China ',
+ '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' => [
[
- 'name' => 'GeographicRegionBId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The area where the other network instance is deployed. Valid values: Valid values:'."\n"
- ."\n"
- .'* **China**: Chinese mainland'."\n"
- .'* **North-America**: North America'."\n"
- .'* **Asia-Pacific**: Asia Pacific'."\n"
- .'* **Europe**: Europe',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'China ',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'BandwidthPackageChargeType',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The billing method of the bandwidth plan. Set the value to **PREPAY**, which indicates that the billing method is pay-as-you-go.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PREPAY',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'Period',
+ 'name' => 'Host',
'in' => 'query',
- 'schema' => [
- 'description' => 'The subscription duration of the bandwidth plan. Default value: 1.'."\n"
- ."\n"
- .'* If **PricingCycle** is set to **Month**, set **Period** to a value from **1** to **3** or **6**.'."\n"
- .'* If **PricingCycle** is set to **Year**, set **Period** to a value from **1** to **3**.'."\n"
- ."\n"
- .'> This parameter is required when **BandwidthPackageChargeType** is set to **PREPAY**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ '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' => 'PricingCycle',
+ 'name' => 'HostRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The billing cycle of the bandwidth plan. Valid values:'."\n"
- ."\n"
- .'* **Month** (default): billed on a monthly basis.'."\n"
- .'* **Year**: billed on an annual basis.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Month',
- ],
+ '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' => 'AutoPay',
+ 'name' => 'AccessRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to automatically complete the payment of the bandwidth plan. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false** (default): no'."\n"
- ."\n"
- .'If you set the parameter to false, go to Billing Management to complete the payment after you call this operation. The instance is created only after you complete the payment.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The region ID from which the Alibaba Cloud service is accessed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'HostVpcId',
'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 keys 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' => 'tagtest',
- ],
- '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' => 'tagtest',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'CenBandwidthPackageId' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => 'cenbwp-4c2zaavbvh5fx****',
- ],
- 'CenBandwidthPackageOrderId' => [
- 'description' => 'The ID of the order for the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => '20156420004****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'UnSupported.ChargeType',
- 'errorMessage' => 'The charge type is not supported.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.BandwidthPackage',
- 'errorMessage' => 'The parameter of bandwidth packaged is illegal.',
- ],
- [
- '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.',
- ],
- [
- 'errorCode' => 'OperationInvalid.UserCanNotBuyBwp',
- 'errorMessage' => 'The user can not buy Cen bandwidthPackage.',
- ],
- [
- 'errorCode' => 'Order.AccountStatusIllegal',
- 'errorMessage' => 'Illegal account status for postpay service not opened for this account.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
- 500 => [
- [
- 'errorCode' => 'PayFor.AccountMoneyValidateError',
- 'errorMessage' => 'Your channel merchant quota is insufficient. Please contact the channel merchant.',
- ],
+ 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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeCenBandwidthPackages',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
+ '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' => '云企业网'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CenBandwidthPackageId\\": \\"cenbwp-4c2zaavbvh5fx****\\",\\n \\"CenBandwidthPackageOrderId\\": \\"20156420004****\\",\\n \\"RequestId\\": \\"E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B\\",\\n \\"CenBandwidthPackageId\\":\\"Cenbwp-stb2axpqzzko2jagd7\\"\\n}"},{"type":"xml","example":"<CreateCenBandwidthPackageResponse>\\n <RequestId>E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B</RequestId>\\n <CenBandwidthPackageOrderId>20156420004****</CenBandwidthPackageOrderId>\\n <CenBandwidthPackageId> cenbwp-4c2zaavbvh5fx****</CenBandwidthPackageId>\\n</CreateCenBandwidthPackageResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateCenBandwidthPackageResponse>\\n <RequestId>E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B</RequestId>\\n <CenBandwidthPackageId> Cenbwp-stb2axpqzzko2jagd7</CenBandwidthPackageId>\\n</CreateCenBandwidthPackageResponse>"}]',
- 'title' => 'CreateCenBandwidthPackage',
- 'description' => '* You must specify the areas to be connected when you create a bandwidth plan. An area contains one or more Alibaba Cloud regions. When you select areas for a bandwidth plan, make sure that the areas contain the regions that you want to connect. For more information about the supported areas and regions, see [Purchase a bandwidth plan](~~181560~~).'."\n"
- .'* For more information about the billing rules, see [Billing](~~189836~~).'."\n"
- .'* **CreateCenBandwidthPackage** is an asynchronous operation. After you send a request, the system returns a bandwidth plan instance ID and runs the task in the background. You can call the **DescribeCenBandwidthPackages** operation to query the status of a bandwidth plan. If a bandwidth plan is in the **Idle** or **InUse** state, the bandwidth plan is created.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
+ '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' => ' ',
],
- 'DeleteCenBandwidthPackage' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteTrafficMarkingPolicy' => [
+ 'summary' => 'Deletes a specified traffic marking policy.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'CenBandwidthPackageId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenbwp-4c2zaavbvh5f42****',
- ],
+ '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' => '',
- 'type' => 'string',
- 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '5F1F3A57-A753-572B-8F71-4F964398C566', 'title' => ''],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.Release',
- 'errorMessage' => 'Forbidden to release a PREPAY bandwidth instance within validity period.',
- ],
- [
- 'errorCode' => 'InvalidOperation.BwpInstanceStatus',
- 'errorMessage' => 'The CBN bandwidth package is not in a valid state for the operation.',
+ ],
+ '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\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCenBandwidthPackageResponse>\\r\\n <RequestId>C0245BEF-52AC-44A8-A776-EF96FD26A5CA</RequestId>\\r\\n</DeleteCenBandwidthPackageResponse>","errorExample":""}]',
- 'title' => 'DeleteCenBandwidthPackage',
- 'summary' => 'Deletes a bandwidth plan.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5F1F3A57-A753-572B-8F71-4F964398C566\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTrafficMarkingPolicyResponse>\\n <RequestId>5F1F3A57-A753-572B-8F71-4F964398C566</RequestId>\\n</DeleteTrafficMarkingPolicyResponse>","errorExample":""}]',
],
- 'ModifyCenBandwidthPackageAttribute' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteTransitRouteTableAggregation' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '154263',
+ 'abilityTreeNodes' => ['FEATUREcbnYACM08'],
],
'parameters' => [
[
- 'name' => 'Name',
+ 'name' => 'TransitRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the bandwidth plan.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new description of the bandwidth plan.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Bandwidth Plans'."\n",
- ],
+ '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' => 'CenBandwidthPackageId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenbwp-4c2zaavbvh5fx****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'example' => '13526224-5780-4426-8ADF-BC8B08700F23',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"13526224-5780-4426-8ADF-BC8B08700F23\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"13526224-5780-4426-8ADF-BC8B08700F23\\"\\n}"},{"type":"xml","example":"<ModifyCenBandwidthPackageAttributeResponse>\\n <RequestId>13526224-5780-4426-8ADF-BC8B08700F23</RequestId>\\n</ModifyCenBandwidthPackageAttributeResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<ModifyCenBandwidthPackageAttributeResponse>\\n <RequestId>5903EE99-D542-4E14-BC65-AAC1CB2D3D03</RequestId>\\n</ModifyCenBandwidthPackageAttributeResponse>"}]',
- 'title' => 'ModifyCenBandwidthPackageAttribute',
- 'summary' => 'Modifies the name and description of a bandwidth plan.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ModifyCenBandwidthPackageSpec' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72326',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
- 'name' => 'CenBandwidthPackageId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenbwp-4c2zaavbvh5x****',
- ],
+ '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' => 'Bandwidth',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new maximum bandwidth value of the bandwidth plan. Unit: Mbit/s.'."\n"
- ."\n"
- .'Valid values: **2** to **10000**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => false,
- 'example' => '2',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '6DE3EE92-39C8-4BBD-A3AD-F568D74741BB'],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'Operation.Failed',
- 'errorMessage' => 'Spec of the specified bandwidth package is not changed, please check again.',
- ],
- [
- 'errorCode' => 'InvalidStatus.Resource',
- 'errorMessage' => 'The status of the specified resource is invalid. The resource cannot be renewed.',
- ],
- [
- 'errorCode' => 'OperationFailed.InsufficientBalance',
- 'errorMessage' => 'Your account does not have enough balance.',
- ],
- [
- 'errorCode' => 'OperationFailed.OperationIsProcessing',
- 'errorMessage' => 'The operation failed because another operation is being processed.',
- ],
- [
- 'errorCode' => 'OperationFailed.OrderIsProcessing',
- 'errorMessage' => 'The operation failed because the order is being processed.',
- ],
- [
- 'errorCode' => 'OperationFailed.UpDownRadeConfigNoChange',
- 'errorMessage' => 'The operation failed because the config not change.',
- ],
- [
- 'errorCode' => 'InvalidOperation.SaleValidateFailed',
- 'errorMessage' => 'Sales expression validation system error.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}"},{"type":"xml","example":"<ModifyCenBandwidthPackageSpecResponse>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</ModifyCenBandwidthPackageSpecResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<ModifyCenBandwidthPackageSpecResponse>\\n <RequestId>5903EE99-D542-4E14-BC65-AAC1CB2D3D03</RequestId>\\n</ModifyCenBandwidthPackageSpecResponse>"}]',
- 'title' => 'ModifyCenBandwidthPackageSpec',
- 'summary' => 'Modifies the maximum bandwidth of a bandwidth plan.',
+ ['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' => ' ',
- ],
- 'DescribeCenGeographicSpanRemainingBandwidth' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
- 'name' => 'CenId',
+ 'name' => 'TransitRouterCidrId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance to which the bandwidth plan is associated.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-nh98vzx8gfhlwn****',
- ],
+ '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' => 'GeographicRegionAId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of one of the connected areas of the bandwidth plan. Valid values:'."\n"
- ."\n"
- .'* **China**: Chinese mainland'."\n"
- .'* **North-America**: North America'."\n"
- .'* **Asia-Pacific**: Asia Pacific'."\n"
- .'* **Europe**: Europe',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'China',
- ],
+ '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' => 'GeographicRegionBId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the other area connected by the bandwidth plan. Valid values:'."\n"
- ."\n"
- .'* **China**: Chinese mainland'."\n"
- .'* **North-America**: North America'."\n"
- .'* **Asia-Pacific**: Asia Pacific'."\n"
- .'* **Europe**: Europe',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'North-America',
- ],
+ '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' => [
- 'RemainingBandwidth' => [
- 'description' => 'The remaining bandwidth of the bandwidth plan. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RemainingBandwidth\\": 2,\\n \\"RequestId\\": \\"E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCenGeographicSpanRemainingBandwidthResponse>\\r\\n <RequestId>E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B</RequestId>\\r\\n <RemainingBandwidth>2</RemainingBandwidth>\\r\\n</DescribeCenGeographicSpanRemainingBandwidthResponse>","errorExample":""}]',
- 'title' => 'DescribeCenGeographicSpanRemainingBandwidth',
- 'summary' => 'Queries the remaining bandwidth of a bandwidth plan.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeCenBandwidthPackages' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ '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'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterCidr'],
],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
+ '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' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'PageSize',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'IsOrKey',
+ 'name' => 'TransitRouterAttachmentId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the ECR connection.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfnwjeo4tv****',
- ],
+ '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' => 'Filter',
+ 'name' => 'Force',
'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',
- ],
- '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****',
- ],
- 'required' => false,
- 'example' => 'Idle',
- 'maxItems' => 5,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 5,
- ],
- ],
- [
- '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',
- ],
- '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',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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 => [
- 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '9D7E2400-2755-4AF5-9B73-12565E4F73A0',
- ],
- 'PageNumber' => [
- 'description' => 'The number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- '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',
- ],
- 'Status' => [
- 'description' => 'Indicates whether the bandwidth plan is associated with a CEN instance.'."\n"
- ."\n"
- .'* **Idle**'."\n"
- .'* **InUse**'."\n",
- 'type' => 'string',
- 'example' => 'InUse',
- ],
- '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',
- ],
- 'ReservationOrderType' => [
- 'description' => 'The renewal method.'."\n"
- ."\n"
- .'* **TEMP_UPGRADE**: temporary upgrade'."\n"
- .'* **UPGRADE**: upgrade'."\n",
- 'type' => 'string',
- 'example' => 'UPGRADE',
- ],
- 'BandwidthPackageChargeType' => [
- 'description' => 'The billing method of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => 'PREPAY',
- ],
- 'CenBandwidthPackageId' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => 'cenbwp-4c2zaavbvh5x****',
- ],
- 'ReservationInternetChargeType' => [
- 'description' => 'The new billing method.'."\n",
- 'type' => 'string',
- 'example' => 'PREPAY',
- ],
- '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',
- ],
- 'Bandwidth' => [
- 'description' => 'The maximum bandwidth of the bandwidth plan.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2',
- ],
- 'Description' => [
- 'description' => 'The description of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => 'cen',
- ],
- 'ExpiredTime' => [
- 'description' => 'The time when the bandwidth plan expires.'."\n",
- 'type' => 'string',
- 'example' => '2021-09-08T16:00Z',
- ],
- 'ReservationBandwidth' => [
- 'description' => 'The bandwidth value to which the bandwidth plan is restored when the temporary upgrade ends.'."\n",
- 'type' => 'string',
- 'example' => '10',
- ],
- 'GeographicSpanId' => [
- 'description' => 'The ID of the connected area.'."\n",
- 'type' => 'string',
- 'example' => 'north-america_china',
- ],
- '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',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the ACL belongs.'."\n",
- 'type' => 'string',
- 'example' => 'rg-aekzoyr5k36****',
- ],
- 'IsCrossBorder' => [
- 'description' => 'Indicates whether the bandwidth plan supports cross-border communication.'."\n"
- ."\n"
- .'* **false**'."\n"
- .'* **true**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- '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',
- ],
- 'Name' => [
- 'description' => 'The name of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- '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',
- ],
- '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',
- ],
- 'OppositeRegionId' => [
- 'description' => 'The ID of the peer region.'."\n",
- 'type' => 'string',
- 'example' => 'us-west-1',
- ],
- 'GeographicSpanId' => [
- 'description' => 'The connected regions.'."\n",
- 'type' => 'string',
- 'example' => 'north-america_china',
- ],
- 'LocalRegionId' => [
- 'description' => 'The ID of the local region.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
- ],
- ],
- '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',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'TagValue',
- ],
- ],
- ],
- ],
- ],
- ],
- '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****',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''],
],
'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.TagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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}'],
+ ],
],
],
],
- '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":"<DescribeCenBandwidthPackagesResponse>\\n <PageSize>2</PageSize>\\n <RequestId>9D7E2400-2755-4AF5-9B73-12565E4F73A0</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>2</TotalCount>\\n <CenBandwidthPackages>\\n <ReservationActiveTime>2021-08-30T16:00Z</ReservationActiveTime>\\n <Status>InUse</Status>\\n <CreationTime>2021-02-01T11:14Z</CreationTime>\\n <ReservationOrderType>UPGRADE</ReservationOrderType>\\n <BandwidthPackageChargeType>PREPAY</BandwidthPackageChargeType>\\n <CenBandwidthPackageId>cenbwp-4c2zaavbvh5x****</CenBandwidthPackageId>\\n <ReservationInternetChargeType>PREPAY</ReservationInternetChargeType>\\n <GeographicRegionAId>china</GeographicRegionAId>\\n <Bandwidth>2</Bandwidth>\\n <Description>cen</Description>\\n <ExpiredTime>2021-09-08T16:00Z</ExpiredTime>\\n <ReservationBandwidth>10</ReservationBandwidth>\\n <GeographicSpanId>north-america_china</GeographicSpanId>\\n <GeographicRegionBId>north-america</GeographicRegionBId>\\n <IsCrossBorder>false</IsCrossBorder>\\n <BusinessStatus>Normal</BusinessStatus>\\n <Name>test</Name>\\n <HasReservationData>false</HasReservationData>\\n <OrginInterRegionBandwidthLimits>\\n <BandwidthLimit>1</BandwidthLimit>\\n <OppositeRegionId>us-west-1</OppositeRegionId>\\n <GeographicSpanId>north-america_china</GeographicSpanId>\\n <LocalRegionId>cn-hangzhou</LocalRegionId>\\n </OrginInterRegionBandwidthLimits>\\n <CenIds>cen-xxjsjfkffkfkfjkf****</CenIds>\\n </CenBandwidthPackages>\\n</DescribeCenBandwidthPackagesResponse>","errorExample":""}]',
- 'title' => 'DescribeCenBandwidthPackages',
- 'summary' => 'Queries the information about bandwidth plans.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
],
- 'DescribeCenGeographicSpans' => [
- 'summary' => 'Queries the areas that a Cloud Enterprise Network (CEN) instance can connect.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteTransitRouterMulticastDomain' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72352',
- 'abilityTreeNodes' => [
- 'FEATUREcbn7IORX8',
- ],
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Default value: **10**. Valid values: **1** to **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****', 'title' => ''],
],
[
- 'name' => 'GeographicSpanId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the areas that are connected by the CEN instance.'."\n"
- ."\n"
- .'> If you do not set this parameter, the system queries the information about all areas supported by CEN.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'china_asia-pacific',
- ],
+ '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' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '09780287-BC24-4164-8334-773432E32696',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'GeographicSpanModels' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'GeographicSpanModel' => [
- 'description' => 'A list of areas.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'LocalGeoRegionId' => [
- 'description' => 'The ID of the local area.'."\n",
- 'type' => 'string',
- 'example' => 'asia-pacific',
- ],
- 'GeographicSpanId' => [
- 'description' => 'The ID of the pair of connected areas.'."\n",
- 'type' => 'string',
- 'example' => 'china_asia-pacific',
- ],
- 'OppositeGeoRegionId' => [
- 'description' => 'The ID of the peer area.'."\n",
- 'type' => 'string',
- 'example' => 'china',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '40194E53-2484-5831-BB53-E11D123C1A32', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeCenGeographicSpansResponse>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<PageSize>10</PageSize>\\r\\n\\t<RequestId>09780287-BC24-4164-8334-773432E32696</RequestId>\\r\\n\\t<GeographicSpanModels>\\r\\n\\t\\t<GeographicSpanModel>\\r\\n\\t\\t\\t<OppositeGeoRegionId>china</OppositeGeoRegionId>\\r\\n\\t\\t\\t<LocalGeoRegionId>asia-pacific</LocalGeoRegionId>\\r\\n\\t\\t\\t<GeographicSpanId>china_asia-pacific</GeographicSpanId>\\r\\n\\t\\t</GeographicSpanModel>\\r\\n\\t</GeographicSpanModels>\\r\\n</DescribeCenGeographicSpansResponse>","errorExample":""}]',
- 'title' => 'DescribeCenGeographicSpans',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeGeographicRegionMembership' => [
- 'summary' => 'Queries regions in an area.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return per page. Default value: **10**. Valid values: **1** to **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-gyjhtx9sjsxhm6****', 'title' => ''],
],
[
- 'name' => 'GeographicRegionId',
+ 'name' => 'DryRun',
'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,
- 'example' => 'china ',
- ],
+ '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' => [
@@ -11548,86 +7736,78 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.',
- 'type' => 'string',
- 'example' => 'DC9EB0C9-60AF-4A09-A36C-608F70130274',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'RegionIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'RegionId' => [
- 'description' => 'The list of regions.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'example' => 'us-west-1',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"type":"json","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}","errorExample":"{\\n \\"RegionIds\\":{\\n \\"RegionId\\":[\\n {\\n \\"RegionId\\":\\"us-west-1\\"\\n },\\n {\\n \\"RegionId\\":\\"us-east-1\\"\\n }\\n ]\\n },\\n \\"PageNumber\\":1,\\n \\"TotalCount\\":2,\\n \\"PageSize\\":10,\\n \\"RequestId\\":\\"DC9EB0C9-60AF-4A09-A36C-608F70130274\\"\\n}"},{"type":"xml","example":"<DescribeGeographicRegionMembershipResponse>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RegionIds>\\n <RegionId>\\n <RegionId>us-west-1</RegionId>\\n </RegionId>\\n <RegionId>\\n <RegionId>us-east-1</RegionId>\\n </RegionId>\\n </RegionIds>\\n <RequestId>DC9EB0C9-60AF-4A09-A36C-608F70130274</RequestId>\\n <TotalCount>2</TotalCount>\\n</DescribeGeographicRegionMembershipResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeGeographicRegionMembershipResponse>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RegionIds>\\n <RegionId>\\n <RegionId>us-west-1</RegionId>\\n </RegionId>\\n <RegionId>\\n <RegionId>us-east-1</RegionId>\\n </RegionId>\\n </RegionIds>\\n <RequestId>DC9EB0C9-60AF-4A09-A36C-608F70130274</RequestId>\\n <TotalCount>2</TotalCount>\\n <TotalCount>6</TotalCount>\\n</DescribeGeographicRegionMembershipResponse>"}]',
- 'title' => 'DescribeGeographicRegionMembership',
+ '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' => ' ',
- ],
- 'TempUpgradeCenBandwidthPackageSpec' => [
- 'summary' => 'Temporarily upgrades a subscription bandwidth plan of Cloud Enterprise Network (CEN).',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -11635,132 +7815,196 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'CenBandwidthPackageId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenbwp-y08yosedeqlpua****',
- ],
+ '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' => 'Bandwidth',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '20',
- ],
+ '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' => 'EndTime',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '2022-07-24T13:00:52Z',
- ],
+ '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' => '',
- 'type' => 'string',
- 'example' => 'DB0A026C-A8E5-40AB-977E-3A87DD78F694',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '835E7F4B-B380-4E0F-96A5-6EA572388047', 'title' => ''],
],
+ '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.',
- ],
- [
- 'errorCode' => 'InvalidOperation.OrderParameterIllegal',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UpgradeBwpBandwidth',
- 'errorMessage' => 'The operation is invalid because the upgrade is equal or less than the original bandwidth.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DB0A026C-A8E5-40AB-977E-3A87DD78F694\\"\\n}","errorExample":""},{"type":"xml","example":"<TempUpgradeCenBandwidthPackageSpecResponse>\\n <RequestId>DB0A026C-A8E5-40AB-977E-3A87DD78F694</RequestId>\\n</TempUpgradeCenBandwidthPackageSpecResponse>","errorExample":""}]',
- 'title' => 'TempUpgradeCenBandwidthPackageSpec',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'UnassociateCenBandwidthPackage' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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":"<DeleteTransitRouterPrefixListAssociationResponse>\\n <RequestId>835E7F4B-B380-4E0F-96A5-6EA572388047</RequestId>\\n</DeleteTransitRouterPrefixListAssociationResponse>","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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72329',
+ 'abilityTreeNodes' => ['FEATUREcbnT33W0H'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6j****',
- ],
+ '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' => 'CenBandwidthPackageId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenbwp-4c2zaavbvh5****',
- ],
+ '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' => [
@@ -11768,80 +8012,115 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationFailed.SetPostPay95BandwidthLimitError',
- 'errorMessage' => 'Operation failed because set postpay 95 bandwidth limit error.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}"},{"type":"xml","example":"<UnassociateCenBandwidthPackageResponse>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</UnassociateCenBandwidthPackageResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<UnassociateCenBandwidthPackageResponse>\\n <RequestId>5903EE99-D542-4E14-BC65-AAC1CB2D3D03</RequestId>\\n</UnassociateCenBandwidthPackageResponse>"}]',
- 'title' => 'UnassociateCenBandwidthPackage',
- 'summary' => 'Disassociates a Cloud Enterprise Network (CEN) from a bandwidth plan. After the disassociation, the bandwidth can be associated with another CEN instance.',
- 'description' => 'No inter-region connections are configured in the bandwidth plan. For more information about how to delete inter-region connections, see [SetCenInterRegionBandwidthLimit](~~65942~~).'."\n",
+ ['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' => ' ',
- ],
- 'AssociateCenBandwidthPackage' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ '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' => 'CenBandwidthPackageId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenbwp-4c2zaavbvh5fx****',
- ],
+ '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' => [
@@ -11849,59 +8128,69 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EAB2F133-8556-4D7C-9E91-7EE4FE9CC7D2', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'OperationFailed.SetPostPay95BandwidthLimitError',
- 'errorMessage' => 'Operation failed because set postpay 95 bandwidth limit error.',
- ],
- [
- 'errorCode' => 'OperationInvalid.UserCanNotUseBwp',
- 'errorMessage' => 'The user can not use Cen bandwidthPackage.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
- 'title' => 'AssociateCenBandwidthPackage',
- 'summary' => 'Associates a bandwidth plan with a Cloud Enterprise Network (CEN) instance.',
- 'description' => 'You can associate multiple bandwidth plans with a CEN instance. However, the pair of areas connected by each bandwidth plan must be unique.'."\n"
+ '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"
- .'For example, if a CEN instance is associated with a bandwidth plan that connects networks in the Chinese mainland, you cannot associate another bandwidth plan that also connects networks in the Chinese mainland with the CEN instance. However, you can associate a bandwidth plan that connects the Chinese mainland to North America with the CEN instance.'."\n",
+ .' - If the specified custom route table cannot be found, the route table has been deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'CreateTransitRouterPeerAttachment' => [
- 'summary' => 'To connect network instances across regions, such as virtual private clouds (VPCs), virtual border routers (VBRs), and IPsec-VPN connections that are connected to transit routers, you must create an inter-region connection between the network instances that you want to connect. You can call the CreateTransitRouterPeerAttachment operation to create an inter-region connection on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -11909,466 +8198,118 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '72307',
- 'abilityTreeNodes' => [
- 'FEATUREcbnFWWHEY',
- ],
- ],
+ '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 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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
- ],
- [
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-j3jzhw1zpau2km****',
- ],
+ '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' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the local Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the local Enterprise Edition transit router is deployed.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentDescription',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The 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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
- ],
- [
- 'name' => 'PeerTransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the peer transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-m5eq27g6bndum7e88****',
- ],
- ],
- [
- 'name' => 'PeerTransitRouterRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the peer transit router is deployed.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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"
- .'* **true**: yes'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- '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"
- .'* This parameter specifies the bandwidth throttling threshold for the inter-region connection if you set **BandwidthType** to **DataTransfer**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100000000',
- 'minimum' => '0',
- 'example' => '2',
- ],
- ],
- [
- 'name' => 'CenBandwidthPackageId',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan that you want to associate with the inter-region connection.'."\n"
- ."\n"
- .'> If you set **BandwidthType** to **DataTransfer**, you can skip this parameter.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cenbwp-3xrxupouolw5ou****',
- ],
+ '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. 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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- '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"
- .'* **DataTransfer**: bandwidth is billed based on the pay-by-data-transfer metering method.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'BandwidthPackage',
- ],
- ],
- [
- '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' => 'tag_A1',
- ],
- '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' => 'value_A1',
- ],
- ],
- 'required' => false,
- 'description' => 'The tags.',
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => 'DefaultLinkType',
+ 'name' => 'Force',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Gold',
- ],
+ '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 response.'."\n",
+ 'description' => 'The returned result.',
'type' => 'object',
'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the inter-region connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-nwkiqfvw22qesz****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '59422BF5-BAAD-4CFD-9019-9557BD3ACFA3',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3EDA94DE-0AE5-41FC-A91E-7170E408E0FD', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterRegionId',
- 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.',
- ],
- [
- '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.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.PeerTransitRouterId',
- 'errorMessage' => 'PeerTransitRouterId is illegal.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterId',
- 'errorMessage' => 'TransitRouterId is unsupported.',
- ],
- [
- 'errorCode' => 'MissingParam.Bandwidth',
- 'errorMessage' => 'The parameter Bandwidth is mandatory.',
- ],
- [
- 'errorCode' => 'IllegalParam.Bandwidth',
- 'errorMessage' => 'Bandwidth is illegal.',
- ],
- [
- 'errorCode' => 'Forbbiden.TransitRouterServiceNotOpen',
- 'errorMessage' => 'The user has not open transit router service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.BandwidthType',
- 'errorMessage' => 'The specified BandwidthType does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'CenId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthType',
- 'errorMessage' => 'BandwidthType is illegal.',
- ],
- [
- 'errorCode' => 'MissingParam.CenIdOrRegionId',
- 'errorMessage' => 'Either CenId or RegionId must be specified.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.BandwidthHS',
- 'errorMessage' => 'This bandwidth limit can only be set in China-AsiaPacific-HS',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CenFullLevel',
- 'errorMessage' => 'CEN full level does not support TransitRouter',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CloudDataTransferService',
- 'errorMessage' => 'CCN region not support cloud data transfer service.',
- ],
- [
- 'errorCode' => 'InvalidPeerTransitRouterId.NotFound',
- 'errorMessage' => 'The specified PeerTransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'RegionId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.PeerRegionId',
- 'errorMessage' => 'PeerRegionId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRegionId',
- 'errorMessage' => 'TransitRouterRegionId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidOperation.BwpNotAssociated',
- 'errorMessage' => 'Operation is invalid because a bandwidth package corresponding to the geographic span is not associated.',
- ],
- [
- 'errorCode' => 'InvalidOperation.BwpBusinessStatus',
- 'errorMessage' => 'The CBN bandwidth package is not in a valid business state for the operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenBandwidthPackageId',
- 'errorMessage' => 'Parameter CenBandwidthPackageId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidOperation.BwpBandwidthExceeded',
- 'errorMessage' => 'Operation is invalid because the total bandwidth limit has exceeded that of the bandwidth package.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportPlatinumOrGold',
- 'errorMessage' => 'DataTransfer only support Platinum and Gold.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.BandwidthPackageDefaultLinkTypeOnlySupportGold',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportGold',
- 'errorMessage' => 'Operation is not allowed because this user can only set 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.',
- ],
- [
- 'errorCode' => 'OperationInvalid.IdentityRegistrationStatusNotSupport',
- 'errorMessage' => 'Real name registration of enterprises required.',
- ],
- [
- 'errorCode' => 'InvalidOperation.OnlyOneRegionSupportIpv6',
- 'errorMessage' => 'Peer Attachment is only allowed when both regions support IPv6 or do not support IPv6 at all.',
- ],
- [
- 'errorCode' => 'InvalidOperation',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'Forbidden.TransitRouterServiceExpired',
- 'errorMessage' => 'The transit router service is out of service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.RegionId',
- 'errorMessage' => 'The specified RegionId does not support the operation.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.Bandwidth',
- 'errorMessage' => 'Bandwidth quota exceeded.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.PeerTransitRouterId',
- 'errorMessage' => 'The specified parameter PeerTransitRouterId is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.ResourceType',
- 'errorMessage' => 'The specified parameter ResourceType is invalid.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportUnderlaySilver',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportUnderlaySilver',
- 'errorMessage' => '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.',
- ],
+ ['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' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-nwkiqfvw22qesz****\\",\\n \\"RequestId\\": \\"59422BF5-BAAD-4CFD-9019-9557BD3ACFA3\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterPeerAttachmentResponse>\\n <TransitRouterAttachmentId>tr-attach-nwkiqfvw22qesz****</TransitRouterAttachmentId>\\n <RequestId>59422BF5-BAAD-4CFD-9019-9557BD3ACFA3</RequestId>\\n</CreateTransitRouterPeerAttachmentResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouterPeerAttachment',
- 'description' => '* Enterprise Edition transit routers allow you to allocate bandwidth resources to inter-region connections by using the following methods:'."\n"
- ."\n"
- .' * **Allocate bandwidth resources from a bandwidth plan**:'."\n"
- ."\n"
- .' You must purchase a bandwidth plan, and then allocate bandwidth resources from the bandwidth plan to inter-region connections. For more information about how to purchase a bandwidth plan, see [CreateCenBandwidthPackage](~~65919~~).'."\n"
- ."\n"
- .' * **Use pay-by-data-transfer bandwidth resources**:'."\n"
+ '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"
- .' You can set a maximum bandwidth value for an inter-region connection. Then, you are charged for the amount of data transfer over the connection. For more information, see [Inter-region data transfer](~~337827~~).'."\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"
- .'* **CreateTransitRouterPeerAttachment** 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 **ListTransitRouterPeerAttachments** operation to query the status of an inter-region connection.'."\n"
+ .'- If a VBR connection cannot be found, the VBR connection is deleted.'."\n"
."\n"
- .' * If the inter-region connection is in the **Attaching** state, the inter-region connection is being created. In this case, you can query the connection but cannot perform other operations on the connection.'."\n"
- .' * If the inter-region connection is in the **Attached** state, the inter-region connection is created.'."\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' => ' ',
- ],
- 'DeleteTransitRouterPeerAttachment' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -12378,372 +8319,234 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72332',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that you want to use to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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 inter-region connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-gyjhtx9sjsxhm6****',
- ],
+ '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. Valid 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 to pass the check, an error message is returned. If the request passes the dry run, the system returns the ID of the request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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 inter-region connection. Valid values:'."\n"
- ."\n"
- .'* **false** (default): Check for relevant resources, including associated forwarding and route learning, before deleting the inter-region connection. If such a resource exists, the VPC connection is not deleted and an error message is returned.'."\n"
- .'* **true**: Delete the inter-region connection and all relevant resources.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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 request ID.'."\n",
- 'type' => 'string',
- 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '7E61D334-4025-41EF-9145-FC327B35301D'],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationFailed.RouteTablePropagationExist',
- 'errorMessage' => 'Operation failed because You are not allowed to delete TransitAttachment with TransitRouter RouteTable Associated.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteEntryExist',
- 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteTableAssociationExist',
- 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists',
- ],
- [
- 'errorCode' => 'OperationFailed.TrafficQosExist',
- 'errorMessage' => 'Operation failed because TrafficQos exists',
- ],
- [
- 'errorCode' => 'InvalidValue.PrefixlistCidr',
- 'errorMessage' => 'Invalid cidr exist in the specified prefixlist.',
- ],
- [
- 'errorCode' => 'OperationFailed.FlowLogExistOrNisOpened',
- 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.',
- ],
- [
- 'errorCode' => 'OperationFailed.NotSupportForceDelete',
- 'errorMessage' => 'Not support force delete attachment.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.',
- ],
- [
- 'errorCode' => 'OperationFailed.MulticastGroupExist',
- 'errorMessage' => 'Operation is failed because attachment exists in multicast groups.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterAttachment',
- 'errorMessage' => 'The specified TransitRouterAttachment has configured TransitRegion. Please remove the configuration first.',
- ],
- [
- 'errorCode' => 'OperationFailed.PrefixListExist',
- 'errorMessage' => 'Operation failed because PrefixList exists.',
- ],
- [
- 'errorCode' => 'OperationFailed.InterRegionCloudRouteEntryExist',
- 'errorMessage' => 'Operation failed because inter region cloud route associated with specified attachment exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A01FEDD7-7D69-4EB3-996D-CF79F6F885CA\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterPeerAttachmentResponse>\\n <RequestId>A01FEDD7-7D69-4EB3-996D-CF79F6F885CA</RequestId>\\n</DeleteTransitRouterPeerAttachmentResponse>","errorExample":""}]',
- 'title' => 'DeleteTransitRouterPeerAttachment',
- 'summary' => 'Deletes an inter-region connection from an Enterprise Edition transit router.',
- 'description' => '**DeleteTransitRouterPeerAttachment** 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 **ListTransitRouterPeerAttachments** to query the status of an inter-region connection.'."\n"
+ ['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 an inter-region connection is in the **Detaching** state, the inter-region connection is being deleted. You can query the inter-region connection but cannot perform other operations.'."\n"
- .'* If an inter-region connection cannot be found, the inter-region connection is deleted.'."\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 begin, make sure that the Enterprise Edition transit router that you use to create inter-region connections meets the following prerequisites:'."\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 inter-region 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 inter-region 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 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 route tables of Enterprise Edition transit routers, see [DeleteTransitRouterRouteEntry](~~261240~~).'."\n"
- .'* The route table does not contain a route whose next hop is the inter-region connection and that is generated from a prefix list. You can delete routes from a route table by disassociating the route table from the prefix list. For more information, see [DeleteTransitRouterPrefixListAssociation](~~445486~~).'."\n"
- .'* No quality of service (QoS) policy is configured for the inter-region connection. For more information about how to delete QoS policies, see [DeleteCenInterRegionTrafficQosPolicy](~~427547~~).'."\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' => ' ',
- ],
- 'SetCenInterRegionBandwidthLimit' => [
- 'summary' => 'Configures, modifies, or deletes the bandwidth of inter-region connections for a Basic Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterVpcAttachment'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'security' => [
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'cen:DeleteTransitRouterVpcAttachment',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
+ ],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '72421',
- 'abilityTreeNodes' => [
- 'FEATUREcbn7IORX8',
+ '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' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmx****',
- ],
+ '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' => 'LocalRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the local region.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query regions where you can attach network instances to a CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'OppositeRegionId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the peer region.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'us-west-1',
- ],
+ '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' => 'BandwidthLimit',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum bandwidth value of the inter-region connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '8',
- ],
+ 'schema' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-b9xj1dv69600kj****', 'title' => ''],
],
[
- 'name' => 'BandwidthType',
+ 'name' => 'Force',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bandwidth allocation method. Valid values:'."\n"
- ."\n"
- .'**BandwidthPackage**: allocates bandwidth from a bandwidth plan.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'BandwidthPackage',
- 'default' => 'BandwidthPackage',
- ],
+ '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 ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '530BC816-F575-412A-AAB2-435125D26328',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FA43C571-E88B-56C0-8FF8-5646D9B96297', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MissingParam.CbnBandwidthPackageId',
- 'errorMessage' => 'There are more than one suitable cen bandwidth package',
- ],
- [
- 'errorCode' => 'AttrMismatching.CbnBandwidthPackageId',
- 'errorMessage' => '%s',
- ],
- [
- 'errorCode' => 'OperationFailed.InvalidOperation',
- 'errorMessage' => 'The operation is failed because the operation is not support.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.Attachment',
- 'errorMessage' => 'The cross region connection contains an existing bandwidth. The operation is not supported.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UnsupportChargeType',
- 'errorMessage' => 'The charge type is not supported by this operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TrafficQosPolicyExist',
- 'errorMessage' => 'Operation unsupported because traffic qos policy exists.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.BandwidthType',
- 'errorMessage' => 'The specified BandwidthType does not support the operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthType',
- 'errorMessage' => 'BandwidthType is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.Bandwidth',
- 'errorMessage' => 'Bandwidth is illegal.',
- ],
- [
- 'errorCode' => 'ParamExclusive.BandwidthTypeAndCenBandwidthPackageId',
- 'errorMessage' => 'DataTransfer and CenBandwidthPackageId is mutually exclusive.',
- ],
- [
- 'errorCode' => 'IdentityRegistrationStatusNotSupport',
- 'errorMessage' => 'Real name registration of enterprises required.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthLessThanQosPolicyBandwidth',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.Bandwidth',
- 'errorMessage' => 'Bandwidth quota exceeded.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"530BC816-F575-412A-AAB2-435125D26328\\"\\n}","errorExample":""},{"type":"xml","example":"<SetCenInterRegionBandwidthLimitResponse>\\n <RequestId>530BC816-F575-412A-AAB2-435125D26328</RequestId>\\n</SetCenInterRegionBandwidthLimitResponse>","errorExample":""}]',
- 'title' => 'SetCenInterRegionBandwidthLimit',
- 'description' => 'This operation is used to manage bandwidth of inter-region connections only for Basic Edition transit routers.'."\n"
- ."\n"
- .'### [](#)Prerequisites'."\n"
- ."\n"
- .'The Cloud Enterprise Network (CEN) instance is associated with a bandwidth plan. For more information, see [CreateCenBandwidthPackage](~~65919~~) and [AssociateCenBandwidthPackage](~~65934~~).'."\n"
- ."\n"
- .'You can call the **SetCenInterRegionBandwidthLimit** operation to configure, change, or remove the bandwidth limit of an inter-region connection.'."\n"
- ."\n"
- .'* If you set **BandwidthLimit** to a value other than 0, the bandwidth of the inter-region connection is set to the specified value.'."\n"
- .'* If you set **BandwidthLimit** to 0, the bandwidth of the inter-region connection is no longer limited.'."\n"
- ."\n"
- .'### [](#)Limits'."\n"
- ."\n"
- .'* The bandwidth limit of an inter-region connection cannot exceed the bandwidth limit of the associated bandwidth plan.'."\n"
- ."\n"
- .'* The sum of bandwidth limits of all inter-region connections cannot exceed the bandwidth limit of the associated bandwidth plan.'."\n"
- ."\n"
- .'* If bandwidth multiplexing is enabled for an inter-region connection, you cannot change the bandwidth of the inter-region connection.'."\n"
- ."\n"
- .'* The **SetCenInterRegionBandwidthLimit** operation can be used to configure, modify, or delete the bandwidth of inter-region connections only for Basic Edition transit routers.'."\n"
- ."\n"
- .' To configure, modify, or delete the bandwidth of inter-region connections for Enterprise Edition transit routers, call the [CreateTransitRouterPeerAttachment](~~261363~~), [UpdateTransitRouterPeerAttachmentAttribute](~~261229~~), or [DeleteTransitRouterPeerAttachment](~~261227~~) operation.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'UpdateTransitRouterPeerAttachmentAttribute' => [
- 'summary' => 'Modifies an inter-region connection on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -12751,276 +8554,249 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72436',
- 'abilityTreeNodes' => [
- 'FEATUREcbnFWWHEY',
- ],
- ],
+ '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 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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the inter-region connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-ft94dcrbc3e5taun3x',
- ],
+ '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' => 'TransitRouterAttachmentName',
+ 'name' => 'GroupIpAddress',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'TransitRouterAttachmentDescription',
+ 'name' => 'NetworkInterfaceIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The new description of the inter-region connection.'."\n"
+ 'description' => 'A list of Elastic Network Interface (ENI) IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ENI ID.'."\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',
+ .'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,
- 'example' => 'testdesc',
+ 'maxItems' => 1000,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'AutoPublishRouteEnabled',
+ 'name' => 'PeerTransitRouterMulticastDomains',
'in' => 'query',
+ 'style' => 'repeatList',
'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"
+ 'description' => 'A list of inter-region multicast domain IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of an inter-region multicast domain.'."\n"
."\n"
- .'* **false** (default): no'."\n"
- .'* **true**: yes'."\n",
- 'type' => 'boolean',
+ .'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,
- 'example' => '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' => [
- '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"
- .'* **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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ 'title' => 'PlainResponse<String>',
+ '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' => [
[
- '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"
- .'* This parameter specifies the bandwidth throttling threshold for the inter-region connection if you set **BandwidthType** to **DataTransfer**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100000000',
- 'minimum' => '0',
- 'example' => '2',
+ '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' => [
[
- 'name' => 'CenBandwidthPackageId',
+ '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 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cenbwp-3xrxupouolw5ou****',
- ],
+ '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' => 'BandwidthType',
+ 'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bandwidth allocation method. Valid values:'."\n"
- ."\n"
- .'* **BandwidthPackage**: allocates bandwidth from a bandwidth plan.'."\n"
- .'* **DataTransfer**: bandwidth is billed based on the pay-by-data-transfer metering method.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'BandwidthPackage',
- ],
+ 'schema' => ['description' => 'The ID of the multicast domain that contains the multicast source.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
- 'name' => 'DefaultLinkType',
+ '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 default line type.'."\n"
+ 'description' => 'The list of multicast source IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the multicast source.'."\n"
."\n"
- .'Valid values: Platinum and Gold.'."\n"
+ .'You can delete a maximum of five multicast sources from a multicast group at a time.'."\n"
."\n"
- .'Platinum is supported only when BandwidthType is set to DataTransfer.'."\n",
- 'type' => 'string',
+ .'> This parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'eni-p0weuda3lszwzjly****', 'title' => ''],
'required' => false,
- 'example' => 'Gold',
+ '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' => [
- 'description' => 'The response.'."\n",
+ 'title' => 'PlainResponse<String>',
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '53E7E8BE-7F4E-5458-ACCA-9B5C1D6A642D', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.BandwidthType',
- 'errorMessage' => 'The specified BandwidthType does not support the operation.',
- ],
- [
- 'errorCode' => 'MissingParam.Bandwidth',
- 'errorMessage' => 'The parameter Bandwidth is mandatory.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Attachment',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthType',
- 'errorMessage' => 'BandwidthType is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.Bandwidth',
- 'errorMessage' => 'Bandwidth is illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.BandwidthPackageDefaultLinkTypeOnlySupportGold',
- 'errorMessage' => 'Cen bandwidthPackage only support Gold.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportPlatinumOrGold',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportGold',
- 'errorMessage' => 'Operation is not allowed because this user can only set default link type to Gold.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterAttachment',
- 'errorMessage' => 'The specified TransitRouterAttachment has configured TransitRegion. Please remove the configuration first.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthLessThanQosPolicyBandwidth',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.Bandwidth',
- 'errorMessage' => 'Bandwidth quota exceeded.',
- ],
- [
- 'errorCode' => 'ParamExclusive.BandwidthTypeAndCenBandwidthPackageId',
- 'errorMessage' => 'DataTransfer and CenBandwidthPackageId is mutually exclusive.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CloudDataTransferService',
- 'errorMessage' => 'CCN region not support cloud data transfer service.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportUnderlaySilver',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportUnderlaySilver',
- 'errorMessage' => 'This user can only set the default link type to UnderlaySilver.',
- ],
+ ['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::ListTransitRouterPeerAttachments',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A01FEDD7-7D69-4EB3-996D-CF79F6F885CA\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTransitRouterPeerAttachmentAttributeResponse>\\n <RequestId>A01FEDD7-7D69-4EB3-996D-CF79F6F885CA</RequestId>\\n</UpdateTransitRouterPeerAttachmentAttributeResponse>","errorExample":""}]',
- '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"
+ '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 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"
- .'* If an inter-region connection is in the **Attached** state, the inter-region connection is modified.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListTransitRouterPeerAttachments' => [
- 'summary' => 'Queries inter-region connections on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -13028,374 +8804,159 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '72394',
- 'abilityTreeNodes' => [
- 'FEATUREcbnFWWHEY',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', '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-j3jzhw1zpau2km****',
- ],
- ],
- [
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-5mv960yjhja0dh****'],
],
[
- 'name' => 'TransitRouterAttachmentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the inter-region connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-5u4qbayfv2io5v****',
- ],
- ],
- [
- 'name' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
- ],
- [
- 'name' => 'MaxResults',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries returned per page. Default value: **20**. Maximum value: **100**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100',
- 'minimum' => '0',
- 'example' => '20',
- ],
+ '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' => 'NextToken',
+ 'name' => 'ChildInstanceType',
'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' => '1',
- ],
+ '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' => 'Tag',
+ 'name' => 'ChildInstanceRegionId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The information about the tag.'."\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' => 'tagtest',
- ],
- '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' => 'tagtest',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => [
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If the **NextToken** parameter is empty, no next page exists.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'dd20****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'AA97AFA3-8E48-4BD7-9F3E-A9F6176018A0',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TransitRouterAttachments' => [
- 'description' => 'A list of inter-region connections.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the inter-region connection.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'CreationTime' => [
- 'description' => 'The time when the inter-region connection was created.'."\n"
- ."\n"
- .'The time follows the ISO8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2021-06-16T02:50Z',
- ],
- 'Status' => [
- 'description' => 'The status of the inter-region connection. Valid values:'."\n"
- ."\n"
- .'* **Attached**'."\n"
- .'* **Attaching**'."\n"
- .'* **Detaching**'."\n"
- .'* **Detached**'."\n",
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the inter-region connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-5u4qbayfv2io5v****',
- ],
- 'BandwidthType' => [
- 'description' => 'The bandwidth allocation method. Valid values:'."\n"
- ."\n"
- .'* **BandwidthPackage**: allocates bandwidth from a bandwidth plan.'."\n"
- .'* **DataTransfer**: bandwidth is billed based on the pay-by-data-transfer metering method.'."\n",
- 'type' => 'string',
- 'example' => 'BandwidthPackage',
- ],
- 'CenBandwidthPackageId' => [
- 'description' => 'The ID of the bandwidth plan that is used to allocate bandwidth to the inter-region connection.'."\n",
- 'type' => 'string',
- 'example' => 'cenbwp-3xrxupouolw5ou****',
- ],
- 'TransitRouterAttachmentDescription' => [
- 'description' => 'The description of the inter-region connection.'."\n",
- 'type' => 'string',
- 'example' => 'testdesc',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'PeerTransitRouterId' => [
- 'description' => 'The ID of the peer transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-m5eq27g6bndum7e88****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
- 'PeerTransitRouterRegionId' => [
- 'description' => 'The region ID of the peer transit router.'."\n",
- 'type' => 'string',
- 'example' => 'cn-qingdao',
- ],
- 'ResourceType' => [
- 'description' => 'The type of the resource to which the transit router is connected. Valid values:'."\n"
- ."\n"
- .'* **VPC**: virtual private cloud (VPC)'."\n"
- .'* **CCN**: Cloud Connect Network (CCN) instance'."\n"
- .'* **VBR**: virtual border router (VBR)'."\n"
- .'* **TR**: transit router'."\n",
- 'type' => 'string',
- 'example' => 'TR',
- ],
- 'Bandwidth' => [
- '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"
- .'* This parameter specifies the bandwidth throttling threshold for the inter-region connection if you set **BandwidthType** to **DataTransfer**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'GeographicSpanId' => [
- 'description' => 'The areas that are connected by the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => 'china_china',
- ],
- 'PeerTransitRouterOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the peer transit router belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '253460731706911258',
- ],
- 'AutoPublishRouteEnabled' => [
- 'description' => 'Indicates whether the local Enterprise Edition transit router automatically advertises routes of the cross-region connection to the peer transit router. Valid values:'."\n"
- ."\n"
- .'* **false** (default)'."\n"
- .'* **true**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'TransitRouterAttachmentName' => [
- 'description' => 'The name of the inter-region connection.'."\n",
- 'type' => 'string',
- 'example' => 'test',
+ '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' => '',
+ ],
],
- 'Tags' => [
- 'description' => 'A list of tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'tag_A1',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'test',
+ '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' => '',
],
- 'description' => 'The tags.',
+ 'title' => '',
],
],
- 'CenId' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'cen-j3jzhw1zpau2km****'."\n",
- ],
- 'DefaultLinkType' => [
- 'description' => 'The default line type.'."\n"
- ."\n"
- .'* **Gold** (default)'."\n"
- .'* **Platinum**'."\n",
- 'type' => 'string',
- 'example' => 'Gold',
- ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'title' => '',
],
+ 'ChildInstanceName' => ['description' => 'The name of the network instance.', 'type' => 'string', 'title' => '', 'example' => 'defaultvpc'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrInstance',
- 'errorMessage' => 'The specified TransitRouter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified Region is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterId',
- 'errorMessage' => 'The specified TransitRouterId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionIdOrTransitRouterId',
- 'errorMessage' => 'The specified TransitRouterId or RegionId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenIdOrRegionId',
- 'errorMessage' => 'The specified CenId or RegionId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterPeerAttachmentsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>AA97AFA3-8E48-4BD7-9F3E-A9F6176018A0</RequestId>\\n <MaxResults>20</MaxResults>\\n <TransitRouterAttachments>\\n <TransitRouterAttachmentId>tr-attach-5u4qbayfv2io5v****</TransitRouterAttachmentId>\\n <Status>Attached</Status>\\n <GeographicSpanId>china_china</GeographicSpanId>\\n <PeerTransitRouterOwnerId>253460731706911258</PeerTransitRouterOwnerId>\\n <TransitRouterAttachmentName>test</TransitRouterAttachmentName>\\n <ResourceType>TR</ResourceType>\\n <BandwidthType>BandwidthPackage</BandwidthType>\\n <AutoPublishRouteEnabled>false</AutoPublishRouteEnabled>\\n <Bandwidth>0</Bandwidth>\\n <CreationTime>2021-06-16T02:50Z</CreationTime>\\n <BandwidthPackageId/>\\n <PeerTransitRouterId>tr-m5eq27g6bndum7e88****</PeerTransitRouterId>\\n <RegionId>cn-hangzhou</RegionId>\\n <CenBandwidthPackageId/>\\n <PeerTransitRouterRegionId>cn-qingdao</PeerTransitRouterRegionId>\\n <TransitRouterId>tr-bp1su1ytdxtataupl****</TransitRouterId>\\n </TransitRouterAttachments>\\n</ListTransitRouterPeerAttachmentsResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterPeerAttachments',
- 'description' => 'You can use the following methods to query inter-region connections on an Enterprise Edition transit router:'."\n"
- ."\n"
- .'* Query all inter-region connections on an Enterprise Edition transit router by specifying the ID of the Enterprise Edition transit router.'."\n"
- .'* Query all inter-region connections on an Enterprise Edition transit router by specifying the ID of the Cloud Enterprise Network (CEN) instance and the ID of the region where the transit router is deployed.'."\n",
+ 'title' => 'DescribeCenAttachedChildInstanceAttribute',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeCenInterRegionBandwidthLimits' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2023-04-27T09:43:48.000Z', 'description' => 'Response parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -13403,55 +8964,38 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'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',
- ],
+ '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**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ '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 Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-pfa6ugf3xl0qsd****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-j3jzhw1zpau2km****'],
],
[
- 'name' => 'TrRegionId',
+ 'name' => 'ChildInstanceType',
'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' => 'ccn-cn-shanghai',
- ],
+ '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' => [
@@ -13459,336 +9003,416 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '7A30C665-8766-5AAA-9274-C97380E2D850',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'CenInterRegionBandwidthLimits' => [
+ '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' => [
- 'CenInterRegionBandwidthLimit' => [
- 'description' => 'A list of inter-region connections.'."\n",
+ 'ChildInstance' => [
+ 'description' => 'The information about the network instances.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Status' => [
- 'description' => 'The bandwidth status of the inter-region connection. Valid values:'."\n"
- ."\n"
- .'* **Active**'."\n"
- .'* **Modifying**'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'BandwidthPackageId' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'example' => 'cenbwp-uenczwb592fnvv****',
- ],
- 'OppositeRegionId' => [
- 'description' => 'The ID of the peer region.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'GeographicSpanId' => [
- 'description' => 'The IDs of the local and peer regions.'."\n",
- 'type' => 'string',
- 'example' => 'china_china',
- ],
- 'CenId' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'cen-pfa6ugf3xl0qsd****',
- ],
- 'LocalRegionId' => [
- 'description' => 'The ID of the local region.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-cn-shanghai',
- ],
- 'BandwidthLimit' => [
- 'description' => 'The maximum bandwidth of the inter-region connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'BandwidthType' => [
- 'description' => 'The bandwidth allocation method. Valid values:'."\n"
- ."\n"
- .'* **BandwidthPackage**: allocates bandwidth from a bandwidth plan.'."\n"
- .'* **DataTransfer**: bandwidth is billed based on the pay-by-data-transfer metering method.'."\n",
- 'type' => 'string',
- 'example' => 'BandwidthPackage',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '[{"type":"json","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}","errorExample":"{\\n \\"CenInterRegionBandwidthLimits\\":{\\n \\"CenInterRegionBandwidthLimit\\":[\\n {\\"\\n Status\\":\\" Active \\",\\n \\"LocalRegionId\\":\\"cn-hangzhou-667\\",\\n \\"CenId\\":\\"Cen-to55jjgdqd4pfvby3d\\",\\n \\"OppositeRegionId\\":\\"cn-hangzhou-668\\",\\n \\"BandwidthLimit\\":1000\\n }\\n ]\\n },\\n \\"PageNumber\\":1,\\n \\"TotalCount\\":1,\\n \\"PageSize\\":10,\\n \\"RequestId\\":\\"187507F9-D955-41A5-98EB-7E4471F9D8E7\\"\\n}"},{"type":"xml","example":"<DescribeCenInterRegionBandwidthLimitsResponse>\\n\\n<CenInterRegionBandwidthLimits>\\n <CenInterRegionBandwidthLimit>\\n <Status>Active</Status>\\n <GeographicSpanId>china_china</GeographicSpanId>\\n <OppositeRegionId>cn-hangzhou</OppositeRegionId>\\n <CenId>cen-pfa6ugf3xl0qsd****</CenId>\\n <BandwidthPackageId>cenbwp-uenczwb592fnvv****</BandwidthPackageId>\\n <BandwidthLimit>1</BandwidthLimit>\\n <LocalRegionId>ccn-cn-shanghai</LocalRegionId>\\n </CenInterRegionBandwidthLimit>\\n</CenInterRegionBandwidthLimits>\\n<TotalCount>1</TotalCount>\\n<RequestId>7A30C665-8766-5AAA-9274-C97380E2D850</RequestId>\\n<PageSize>10</PageSize>\\n<PageNumber>1</PageNumber>\\n</DescribeCenInterRegionBandwidthLimitsResponse>\\n","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeCenInterRegionBandwidthLimitsResponse>\\n <CenInterRegionBandwidthLimits>\\n <CenInterRegionBandwidthLimit>\\n <Status> Active </Status>\\n <LocalRegionId>cn-hangzhou-667</LocalRegionId>\\n <CenId>Cen-to55jjgdqd4pfvby3d</CenId>\\n <OppositeRegionId>cn-hangzhou-668</OppositeRegionId>\\n <BandwidthLimit>1000</BandwidthLimit>\\n </CenInterRegionBandwidthLimit>\\n </CenInterRegionBandwidthLimits>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>C4CF2E97-5C04-4A9E-B908-BE95FF68C7B2</RequestId>\\n</DescribeCenInterRegionBandwidthLimitsResponse>"}]',
- 'title' => 'DescribeCenInterRegionBandwidthLimits',
- 'summary' => 'Queries the bandwidth of connections between regions.',
+ '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' => ' ',
- ],
- 'CreateCenChildInstanceRouteEntryToAttachment' => [
- 'summary' => 'Adds a route entry to a network instance and sets the next hop of the destination CIDR block to the transit router in the current region.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenAttachedChildInstances'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'IncludeReservationData',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ 'schema' => ['description' => 'Specifies whether to include renewal data. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to perform a dry run to check information such as the permissions and the instance status. Valid values:'."\n"
- ."\n"
- .'* **false**: 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.'."\n"
- ."\n"
- .'> This parameter is not in use.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'CenId',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp1n6cbxcszp55vxo****',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'IsOrKey',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-r1qhupkc19iadz****',
- ],
+ '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' => 'RouteTableId',
+ '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 ID of the route table configured on the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vrt-bp1msipdczo9lejup****',
+ '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' => 'DestinationCidrBlock',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '10.0.0.0/24',
+ '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' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'A95A100B-3F3A-56F4-A5DE-19DB7E994807',
+ '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' => 'Forbidden.VpcAsInternetGateway',
- 'errorMessage' => 'It’s forbidden that using Vpc as internet gateway for your private IDC.',
- ],
- [
- 'errorCode' => 'InvalidCIDRBlock.Duplicate',
- 'errorMessage' => 'Specified CIDR block is already exists.',
- ],
- [
- 'errorCode' => 'InvalidCidrBlock.Malformed',
- 'errorMessage' => 'Specified CIDR block is not valid.',
- ],
- [
- 'errorCode' => 'OperationFailed.RouteConflict',
- 'errorMessage' => 'Route conflict exists in routing table.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UnsupportnexthopType',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.RouteTableTypeNotPermitted',
- 'errorMessage' => 'The operation is not allowed because of RouteTableTypeNotPermitted.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'The system is busy. Please try again later.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch',
- 'errorMessage' => 'The destination network segment specified in the route entry overlaps with the vSwitch network segment.',
- ],
+ ['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.'],
],
- 404 => [
- [
- 'errorCode' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
+ ],
+ '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 \\"RequestId\\": \\"A95A100B-3F3A-56F4-A5DE-19DB7E994807\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCenChildInstanceRouteEntryToAttachmentResponse>\\n <RequestId>A95A100B-3F3A-56F4-A5DE-19DB7E994807</RequestId>\\n</CreateCenChildInstanceRouteEntryToAttachmentResponse>","errorExample":""}]',
- 'title' => 'CreateCenChildInstanceRouteEntryToAttachment',
- 'description' => '* You can add routes only to virtual private clouds (VPCs) or virtual border routers (VBRs) that are connected to an Enterprise Edition transit router.'."\n"
- ."\n"
- .'* By default, the next hop of the routes is the **transit router connection**, which is the connection between the VBR and the Enterprise Edition transit router. You cannot modify the next hop.'."\n"
- ."\n"
- .'* **CreateCenChildInstanceRouteEntryToAttachment** 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 **DescribeRouteEntryList** operation to query the status of a route.'."\n"
- ."\n"
- .' * If a route is in the **Pending** state, the route is being created. You can query the route but cannot perform other operations.'."\n"
- .' * If a route is in the **Available** state, the route is created.'."\n",
+ '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":"<DescribeCenBandwidthPackagesResponse>\\n <PageSize>2</PageSize>\\n <RequestId>9D7E2400-2755-4AF5-9B73-12565E4F73A0</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>2</TotalCount>\\n <CenBandwidthPackages>\\n <ReservationActiveTime>2021-08-30T16:00Z</ReservationActiveTime>\\n <Status>InUse</Status>\\n <CreationTime>2021-02-01T11:14Z</CreationTime>\\n <ReservationOrderType>UPGRADE</ReservationOrderType>\\n <BandwidthPackageChargeType>PREPAY</BandwidthPackageChargeType>\\n <CenBandwidthPackageId>cenbwp-4c2zaavbvh5x****</CenBandwidthPackageId>\\n <ReservationInternetChargeType>PREPAY</ReservationInternetChargeType>\\n <GeographicRegionAId>china</GeographicRegionAId>\\n <Bandwidth>2</Bandwidth>\\n <Description>cen</Description>\\n <ExpiredTime>2021-09-08T16:00Z</ExpiredTime>\\n <ReservationBandwidth>10</ReservationBandwidth>\\n <GeographicSpanId>north-america_china</GeographicSpanId>\\n <GeographicRegionBId>north-america</GeographicRegionBId>\\n <IsCrossBorder>false</IsCrossBorder>\\n <BusinessStatus>Normal</BusinessStatus>\\n <Name>test</Name>\\n <HasReservationData>false</HasReservationData>\\n <OrginInterRegionBandwidthLimits>\\n <BandwidthLimit>1</BandwidthLimit>\\n <OppositeRegionId>us-west-1</OppositeRegionId>\\n <GeographicSpanId>north-america_china</GeographicSpanId>\\n <LocalRegionId>cn-hangzhou</LocalRegionId>\\n </OrginInterRegionBandwidthLimits>\\n <CenIds>cen-xxjsjfkffkfkfjkf****</CenIds>\\n </CenBandwidthPackages>\\n</DescribeCenBandwidthPackagesResponse>","errorExample":""}]',
],
- 'CreateCenChildInstanceRouteEntryToCen' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ '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-7febra5nqj7jjh****',
- ],
+ '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-k1alm2jbuwibhxtx2****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp18sth14qii3pnvo****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
@@ -13796,63 +9420,50 @@
'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",
+ .'* **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' => 'ChildInstanceRegionId',
+ 'name' => 'Status',
'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',
- ],
+ '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' => 'ChildInstanceAliUid',
+ 'name' => 'PageNumber',
'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',
- ],
+ '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' => 'RouteTableId',
+ 'name' => 'PageSize',
'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****',
- ],
+ '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' => 'DestinationCidrBlock',
+ 'name' => 'ChildInstanceRegionId',
'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',
- ],
+ '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' => [
@@ -13860,298 +9471,442 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '437ED236-BE47-5370-8695-15C58C7A8014',
+ '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' => 'OperationFailed.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"437ED236-BE47-5370-8695-15C58C7A8014\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCenChildInstanceRouteEntryToCenResponse>\\r\\n<RequestId>437ED236-BE47-5370-8695-15C58C7A8014</RequestId>\\r\\n</CreateCenChildInstanceRouteEntryToCenResponse>","errorExample":""}]',
- '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",
+ 'title' => 'DescribeCenChildInstanceRouteEntries',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteCenChildInstanceRouteEntryToAttachment' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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":"<DescribeCenChildInstanceRouteEntriesResponse>\\n <PageSize>10</PageSize>\\n <RequestId>17A57456-EF48-419D-9AE6-9B03D9996018</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>4</TotalCount>\\n <CenRouteEntries>\\n <Status>Active</Status>\\n <Type>CEN</Type>\\n <PublishStatus>Published</PublishStatus>\\n <NextHopType>VBR</NextHopType>\\n <OperationalMode>true</OperationalMode>\\n <NextHopRegionId>cn-hangzhou</NextHopRegionId>\\n <NextHopInstanceId>vbr-bp13gtbhdp0pfqg6s****</NextHopInstanceId>\\n <DestinationCidrBlock>10.0.0.0/24</DestinationCidrBlock>\\n <RouteTableId>vtb-bp1r9pvl4xen8s9ju****</RouteTableId>\\n <CenRouteMapRecords>\\n <RouteMapId>cenrmap-w4yf7toozfol3q****</RouteMapId>\\n <RegionId>cn-hangzhou</RegionId>\\n </CenRouteMapRecords>\\n <Conflicts>\\n <Status>conflict</Status>\\n <DestinationCidrBlock>192.168.1.0/24</DestinationCidrBlock>\\n <InstanceId>ccn-0q3b7oviikmm9h****</InstanceId>\\n <InstanceType>CCN</InstanceType>\\n <RegionId>ccn-cn-shanghai</RegionId>\\n </Conflicts>\\n <Communities>65501:1</Communities>\\n <AsPaths>65501</AsPaths>\\n </CenRouteEntries>\\n</DescribeCenChildInstanceRouteEntriesResponse>","errorExample":""}]',
+ ],
+ 'DescribeCenGeographicSpanRemainingBandwidth' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to perform a dry run to check information such as the permissions and the instance status. Valid values:'."\n"
- ."\n"
- .'* **false**: 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.'."\n"
- ."\n"
- .'> This parameter is not in use.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-wgcl0ik5o8jakq****',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-r1qhupkc19iadz****',
- ],
+ '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' => 'RouteTableId',
+ 'name' => 'GeographicRegionAId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table configured on the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1osd9opvegfpowc****',
- ],
+ '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' => 'DestinationCidrBlock',
+ 'name' => 'GeographicRegionBId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '10.0.1.0/24',
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '250E717B-9823-5FD8-A1C6-5714234FB825',
- ],
+ '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' => 'InvalidRouteEntry.NotFound',
- 'errorMessage' => 'Route entry not exists.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcRouteEntry',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Vpc',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'InvalidCidrBlock.Malformed',
- 'errorMessage' => 'The specified CIDR block is not valid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"250E717B-9823-5FD8-A1C6-5714234FB825\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCenChildInstanceRouteEntryToAttachmentResponse>\\n <RequestId>250E717B-9823-5FD8-A1C6-5714234FB825</RequestId>\\n</DeleteCenChildInstanceRouteEntryToAttachmentResponse>","errorExample":""}]',
- 'title' => 'DeleteCenChildInstanceRouteEntryToAttachment',
- 'summary' => 'Deletes a route of a network instance from an Enterprise Edition transit router.',
- 'description' => '* You can delete routes only from virtual private clouds (VPCs) and virtual border routers (VBRs) whose next hop is an **Enterprise Edition transit router connection**, which is the connection to the network instance.'."\n"
- ."\n"
- .'* **DeleteCenChildInstanceRouteEntryToAttachment** 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 **DescribeRouteEntryList** operation to query the status of a route.'."\n"
- ."\n"
- .' * If a route is in the **Deleting** state, the route is being deleted. You can query the route but cannot perform other operations.'."\n"
- .' * If a route cannot be found, the route is deleted.'."\n",
- ],
- 'DeleteCenChildInstanceRouteEntryToCen' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72352',
+ 'abilityTreeNodes' => ['FEATUREcbn7IORX8'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7febra5nqj7jjh****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ChildInstanceId',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-k1alm2jbuwibhxtx2****',
- ],
+ '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' => 'ChildInstanceType',
+ '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' => [
- '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',
+ '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' => [
[
- 'name' => 'ChildInstanceRegionId',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ap-southeast-5',
- ],
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ChildInstanceAliUid',
+ 'name' => 'PageSize',
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1787100000000000',
- ],
+ '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' => 'RouteTableId',
+ 'name' => 'CenId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-pfa6ugf3xl0qsd****', 'title' => ''],
],
[
- 'name' => 'DestinationCidrBlock',
+ 'name' => 'TrRegionId',
'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',
- ],
+ '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' => [
@@ -14159,296 +9914,222 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'C05000A4-2FC5-5B2C-9527-954044DE2CF3',
+ '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' => 'OperationFailed.VpcNotAttachedToCen',
- 'errorMessage' => 'Operation failed because vpc not attached to cen.',
- ],
- [
- 'errorCode' => 'OperationFailed.InvalidChildInstanceType',
- 'errorMessage' => 'Child instance type is invalid for this operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C05000A4-2FC5-5B2C-9527-954044DE2CF3\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCenChildInstanceRouteEntryToCenResponse>\\r\\n<RequestId>C05000A4-2FC5-5B2C-9527-954044DE2CF3</RequestId>\\r\\n</DeleteCenChildInstanceRouteEntryToCenResponse>","errorExample":""}]',
- 'title' => 'DeleteCenChildInstanceRouteEntryToCen',
- 'summary' => 'Deletes a route from a network instance that is attached to a Cloud Enterprise Network (CEN) instance.',
- 'description' => '## Limits'."\n"
- ."\n"
- .'* By default, the DeleteCenChildInstanceRouteEntryToCen operation is unavailable. To call this operation, [submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex).'."\n"
- .'* You cannot delete a route entry from an Enterprise Edition transit router by calling the DeleteCenChildInstanceRouteEntryToCen operation.'."\n",
+ 'title' => 'DescribeCenInterRegionBandwidthLimits',
+ 'summary' => 'Call the DescribeCenInterRegionBandwidthLimits operation to query the bandwidth limits for inter-region communication.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListCenChildInstanceRouteEntriesToAttachment' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'MaxResults',
+ 'name' => 'PageNumber',
'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',
- 'default' => '50',
- ],
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query and no subsequent queries are to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-dc4vwznpwbobrl****',
- ],
- ],
- [
- 'name' => 'ChildInstanceRouteTableId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table configured on the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => false,
- 'example' => 'vtb-bp174d1gje79u1g4t****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc**** ', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => false,
- 'example' => 'tr-attach-r6g0m3epjehw57****',
- ],
- ],
- [
- 'name' => 'RouteFilter',
+ 'name' => 'AccessRegionId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The filter condition for the destination CIDR block.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The match mode of the route.'."\n"
- ."\n"
- .'* **prefix-exact-match**: exact match.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'prefix-exact-match',
- 'enum' => [
- 'prefix-exact-match',
- ],
- ],
- 'Value' => [
- 'description' => 'The destination CIDR blocks.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The destination CIDR block.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.0.0.0/8',
- ],
- 'required' => false,
- 'maxItems' => 5,
- ],
- ],
- 'required' => false,
- 'description' => '',
- ],
- 'required' => false,
- 'maxItems' => 5,
- ],
+ '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' => 'ServiceType',
+ 'name' => 'HostRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to host the route. If you leave the parameter empty, the route is not hosted. A value of TR specifies that the route is hosted on a transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TR',
- ],
+ 'schema' => ['description' => 'The ID of the region where the PrivateZone service is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the next query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is not returned, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the region.'."\n",
- 'type' => 'string',
- 'example' => '530BC816-F575-412A-AAB2-435125D26328',
- ],
- 'RouteEntry' => [
- 'description' => 'The detailed information about the route.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The detailed information about the route.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-9adwg6ghpq8oq4dp7q',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-y463sghkkv1loe****',
- ],
- 'Status' => [
- 'description' => 'The status of the route. Valid values:'."\n"
- ."\n"
- .'* **Available**: The route is available.'."\n"
- .'* **Pending**: The route is being configured.'."\n"
- .'* **Modifying**: the route is being modified.'."\n",
- 'type' => 'string',
- 'example' => 'Available',
- ],
- 'ServiceType' => [
- 'description' => 'Indicates whether the route is hosted. If the parameter is empty, the route is not hosted. A value of TR indicates that the route is hosted on a transit router.'."\n",
- 'type' => 'string',
- 'example' => 'TR',
- ],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'example' => '10.0.0.0/8',
- ],
- 'ChildInstanceRouteTableId' => [
- 'description' => 'The ID of the route table configured on the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-bp1tlaj1c4nxr2t3e****',
+ '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' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The parameter NextToken is invalid.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterAttachmentId',
- 'errorMessage' => 'The parameter TransitRouterAttachmentId is Missing.',
- ],
- [
- 'errorCode' => 'MissingParam.ChildInstanceRouteTableId',
- 'errorMessage' => 'The parameter ChildInstanceRouteTableId is Missing.',
- ],
- [
- 'errorCode' => 'InvalidParam.RouteFilter',
- 'errorMessage' => 'The parameter RouteFilter is invalid.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.TransitRouterAttachment',
- 'errorMessage' => 'The specified TransitRouterAttachment does not exist.',
- ],
- [
- 'errorCode' => 'InvalidParam.RoutFilterKey',
- 'errorMessage' => 'The specified Key of RouteFilter is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParam.CenId',
- 'errorMessage' => 'The specified CEN does not exist.',
- ],
- [
- 'errorCode' => 'OperationFailed.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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 \\"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"}]',
- 'title' => 'ListCenChildInstanceRouteEntriesToAttachment',
- 'summary' => 'Queries routes in route tables of network instances that point to network instance connections on Enterprise Edition transit routers.',
- 'description' => 'Before you call the ListCenChildInstanceRouteEntriesToAttachment operation, make sure that all request parameter values are valid. If a parameter is set to an invalid value, a request ID is returned, but the routes to the network instance are not returned.'."\n",
+ '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',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14459,82 +10140,52 @@
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '72355',
- 'abilityTreeNodes' => [
- 'FEATUREcbnIIZZGE',
- ],
+ 'abilityTreeNodes' => ['FEATUREcbnIIZZGE'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6j****',
- ],
+ '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"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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 number of the page to return. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
- ],
+ '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. Valid values: **1** to **500**. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ '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 route status. Valid values:'."\n"
+ 'description' => 'The status of the route entry. Valid values:'."\n"
+ ."\n"
+ .'- **Active** (default): active.'."\n"
+ ."\n"
+ .'- **Candidate**: backup.'."\n"
."\n"
- .'* **Active** (default): available'."\n"
- .'* **Candidate**: standby'."\n"
- .'* **Rejected**: rejected'."\n"
- .'* **Prohibited**: prohibited'."\n"
- .'* **All** (default value): all routes'."\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,
- 'example' => 'Active',
'default' => 'Active',
- 'enum' => [
- 'Active',
- 'Rejected',
- 'Prohibited',
- 'Candidate',
- 'Standby',
- 'All',
- ],
+ 'enum' => ['Active', 'Rejected', 'Prohibited', 'Candidate', 'Standby', 'All'],
+ 'example' => 'Active',
+ 'title' => '',
],
],
],
@@ -14543,218 +10194,197 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '004E99FB-E996-5777-888E-BA1D8F215407',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '4',
- ],
+ '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.'."\n",
+ 'description' => 'A list of route entries.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'ToOtherRegionStatus' => [
- 'description' => 'Indicates whether the route can be advertised to other regions. Valid values:'."\n"
- ."\n"
- .'* **Active**: The route can be advertised to other regions.'."\n"
- .'* **Prohibited**: The route cannot be advertised to other regions.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'Type' => [
- 'description' => 'The route type. Valid values:'."\n"
- ."\n"
- .'* **CEN**: route that is advertised through CEN'."\n"
- .'* **Custom**: custom route'."\n"
- .'* **System**: system route'."\n",
- 'type' => 'string',
- 'example' => 'CEN',
- ],
- 'Status' => [
- 'description' => 'The route status. Valid values:'."\n"
- ."\n"
- .'* **Active**: available'."\n"
- .'* **Candidate**: standby'."\n"
- .'* **Rejected**: rejected'."\n"
- .'* **Prohibited**: prohibited'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'NextHopType' => [
- 'description' => 'The type of the instance specified as the next hop in the route. Valid values:'."\n"
- ."\n"
- .'* **VPC**: virtual private cloud (VPC)'."\n"
- .'* **VBR**: virtual border router (VBR)'."\n"
- .'* **CCN**: Cloud Connect Network (CCN) instance'."\n"
- .'* **local_service**: system route. No next hop is specified.'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'NextHopInstanceId' => [
- 'description' => 'The ID of the instance specified as the next hop in the route.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp1j8728mm6pweeod****',
- ],
- 'NextHopRegionId' => [
- 'description' => 'The ID of the region to which the network instance specified as the next hop in the route belongs.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'example' => '192.168.1.0/24',
- ],
- 'Preference' => [
- 'description' => 'The route priority.'."\n"
- ."\n"
- .'A smaller value indicates a higher priority.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
+ '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 routes match in the inbound direction.'."\n",
+ 'description' => 'The routing policy that the route entry matches in the Ingress direction.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'RouteMapId' => [
- 'description' => 'The ID of the routing policy.'."\n",
- 'type' => 'string',
- 'example' => 'cenrmap-cz5axczdxb7yfu****',
- ],
- 'RegionId' => [
- 'description' => 'The ID of the region where the routing policy is applied.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
+ '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 routes match in the outbound direction.'."\n",
+ 'description' => 'The routing policy that the route entry matches in the Egress direction.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'RouteMapId' => [
- 'description' => 'The ID of the routing policy.'."\n",
- 'type' => 'string',
- 'example' => 'cenrmap-dbarzidzp7ek4k****',
- ],
- 'RegionId' => [
- 'description' => 'The ID of the region where the routing policy is applied.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-cn-shanghai',
- ],
+ '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' => 'The communities of the route.'."\n",
+ 'description' => 'A list of community attributes of the route entry.',
'type' => 'array',
- 'items' => [
- 'description' => 'The community of the route.'."\n",
- 'type' => 'string',
- 'example' => '65501:1',
- ],
+ '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' => 'The AS paths of the route.'."\n",
+ 'description' => 'A list of AS-Path attributes of the route entry.',
'type' => 'array',
- 'items' => [
- 'description' => 'The AS path of the route.'."\n",
- 'type' => 'string',
- 'example' => '65501',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeCenRegionDomainRouteEntriesResponse>\\n <PageSize>10</PageSize>\\n <RequestId>004E99FB-E996-5777-888E-BA1D8F215407</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>4</TotalCount>\\n <CenRouteEntries>\\n <ToOtherRegionStatus>Active</ToOtherRegionStatus>\\n <Type>CEN</Type>\\n <Status>Active</Status>\\n <NextHopType>VPC</NextHopType>\\n <NextHopInstanceId>vpc-bp1j8728mm6pweeod****</NextHopInstanceId>\\n <NextHopRegionId>cn-hangzhou</NextHopRegionId>\\n <DestinationCidrBlock>192.168.1.0/24</DestinationCidrBlock>\\n <Preference>50</Preference>\\n <CenRouteMapRecords>\\n <RouteMapId>cenrmap-cz5axczdxb7yfu****</RouteMapId>\\n <RegionId>cn-hangzhou</RegionId>\\n </CenRouteMapRecords>\\n <CenOutRouteMapRecords>\\n <RouteMapId>cenrmap-dbarzidzp7ek4k****</RouteMapId>\\n <RegionId>ccn-cn-shanghai</RegionId>\\n </CenOutRouteMapRecords>\\n <Communities>65501:1</Communities>\\n <AsPaths>65501</AsPaths>\\n </CenRouteEntries>\\n</DescribeCenRegionDomainRouteEntriesResponse>","errorExample":""}]',
'title' => 'DescribeCenRegionDomainRouteEntries',
- 'summary' => 'Queries the details about routes in a region for a Cloud Enterprise Network (CEN) instance.',
+ 'summary' => 'Queries route entries in a specified region of a Cloud Enterprise Network (CEN) instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeCenChildInstanceRouteEntries' => [
- 'summary' => 'Queries the routes of a network instance that is attached to a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -14764,390 +10394,496 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
- 'abilityTreeCode' => '72350',
- 'abilityTreeNodes' => [
- 'FEATUREcbnIIZZGE',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72356',
+ 'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ChildInstanceId',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp18sth14qii3pnvo****',
- ],
+ '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' => 'ChildInstanceType',
+ 'name' => 'CenId',
'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',
- ],
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-wx12mmlt17ld82****', 'title' => ''],
],
[
- 'name' => 'Status',
+ 'name' => 'RouteMapId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the routing policy.', 'type' => 'string', 'required' => false, 'example' => 'cenrmap-y40mxdvf7joc12****', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'CenRegionId',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'TransmitDirection',
'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',
- ],
+ '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' => 'ChildInstanceRegionId',
+ 'name' => 'TransitRouterRouteTableId',
'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',
- ],
- ],
- [
- '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****',
- ],
+ '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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '17A57456-EF48-419D-9AE6-9B03D9996018',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '4',
- ],
- 'CenRouteEntries' => [
+ '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' => [
- 'CenRouteEntry' => [
- 'description' => 'The information about the route.'."\n",
+ 'RouteMap' => [
+ 'description' => 'A list of routing policies.',
'type' => 'array',
'items' => [
+ 'description' => 'The information about the routing policy.',
'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',
+ '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' => '',
],
- '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',
+ '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' => '',
],
- 'PublishStatus' => [
- 'description' => 'Indicates whether the route is advertised to the CEN instance. Valid values:'."\n"
- ."\n"
- .'* **Published**'."\n"
- .'* **NonPublished**'."\n",
- 'type' => 'string',
- 'example' => 'Published',
+ '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' => '',
],
- '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',
+ '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' => '',
],
- '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',
+ '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' => '',
],
- 'NextHopRegionId' => [
- 'description' => 'The region ID of the instance specified as the next hop in the route.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
+ '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' => '',
],
- 'NextHopInstanceId' => [
- 'description' => 'The ID of the instance specified as the next hop in the route.'."\n",
- 'type' => 'string',
- 'example' => 'vbr-bp13gtbhdp0pfqg6s****',
+ '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' => '',
],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'example' => '10.0.0.0/24',
+ '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' => '',
],
- 'RouteTableId' => [
- 'description' => 'The route table ID.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-bp1r9pvl4xen8s9ju****',
+ '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' => '',
],
- 'CenRouteMapRecords' => [
+ 'RouteTypes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'CenRouteMapRecord' => [
- 'description' => 'The routing policy that the routes match.'."\n",
+ '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' => [
- 'type' => 'object',
- 'properties' => [
- 'RouteMapId' => [
- 'description' => 'The routing policy ID.'."\n",
- 'type' => 'string',
- 'example' => 'cenrmap-w4yf7toozfol3q****',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the routing policy.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
+ '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' => '',
],
- 'Conflicts' => [
+ 'DestinationChildInstanceTypes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'Conflict' => [
- 'description' => 'A list of overlapping routes.'."\n",
+ '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' => [
- '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',
- ],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the overlapping route.'."\n",
- 'type' => 'string',
- 'example' => '192.168.1.0/24',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the peer network instance on which the overlapping routes are found.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-0q3b7oviikmm9h****',
- ],
- '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',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the peer network instance on which the overlapping routes are found.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-cn-shanghai',
- ],
- ],
- 'description' => '',
- ],
+ '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' => '',
],
- 'Communities' => [
+ 'DestinationInstanceIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'Community' => [
- 'description' => 'The community attributes of the route entries.'."\n",
+ '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' => 'The route community value.'."\n",
- 'type' => 'string',
- 'example' => '65501:1',
- ],
+ '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' => '',
],
- 'AsPaths' => [
+ 'OperateCommunitySet' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'AsPath' => [
- 'description' => 'The AS paths of the routes.'."\n",
+ 'OperateCommunity' => [
+ 'description' => 'The community to be operated.',
'type' => 'array',
- 'items' => [
- 'description' => 'The route AS path value.'."\n",
- 'type' => 'string',
- 'example' => '65501',
- ],
+ 'items' => ['description' => 'The community to be operated.', 'type' => 'string', 'example' => '65501:1', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId 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.'],
],
],
- '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":"<DescribeCenChildInstanceRouteEntriesResponse>\\n <PageSize>10</PageSize>\\n <RequestId>17A57456-EF48-419D-9AE6-9B03D9996018</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>4</TotalCount>\\n <CenRouteEntries>\\n <Status>Active</Status>\\n <Type>CEN</Type>\\n <PublishStatus>Published</PublishStatus>\\n <NextHopType>VBR</NextHopType>\\n <OperationalMode>true</OperationalMode>\\n <NextHopRegionId>cn-hangzhou</NextHopRegionId>\\n <NextHopInstanceId>vbr-bp13gtbhdp0pfqg6s****</NextHopInstanceId>\\n <DestinationCidrBlock>10.0.0.0/24</DestinationCidrBlock>\\n <RouteTableId>vtb-bp1r9pvl4xen8s9ju****</RouteTableId>\\n <CenRouteMapRecords>\\n <RouteMapId>cenrmap-w4yf7toozfol3q****</RouteMapId>\\n <RegionId>cn-hangzhou</RegionId>\\n </CenRouteMapRecords>\\n <Conflicts>\\n <Status>conflict</Status>\\n <DestinationCidrBlock>192.168.1.0/24</DestinationCidrBlock>\\n <InstanceId>ccn-0q3b7oviikmm9h****</InstanceId>\\n <InstanceType>CCN</InstanceType>\\n <RegionId>ccn-cn-shanghai</RegionId>\\n </Conflicts>\\n <Communities>65501:1</Communities>\\n <AsPaths>65501</AsPaths>\\n </CenRouteEntries>\\n</DescribeCenChildInstanceRouteEntriesResponse>","errorExample":""}]',
- 'title' => 'DescribeCenChildInstanceRouteEntries',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeCenRouteMaps',
+ 'description' => "\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribePublishedRouteEntries' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -15155,336 +10891,140 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- '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',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
- ],
- [
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jm****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-6hpdgj7ni6pz1k****', 'title' => ''],
],
[
- 'name' => 'ChildInstanceId',
+ 'name' => 'VbrInstanceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp18sth14qii3pnv****',
- ],
+ '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' => 'ChildInstanceType',
+ 'name' => 'VbrInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **CCN**: Cloud Connect Network (CCN) instance'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
+ 'schema' => ['description' => 'The ID of the VBR.', 'type' => 'string', 'required' => false, 'example' => 'vbr-bp1kznorjeembsuhl****', 'title' => ''],
],
[
- 'name' => 'ChildInstanceRegionId',
+ 'name' => 'VbrInstanceOwnerId',
'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' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud account that owns the VBR.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1250123456123456', 'title' => ''],
],
[
- 'name' => 'ChildInstanceRouteTableId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the network instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-bp174d1gje79u1g4****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'DestinationCidrBlock',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the route that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '172.16.0.0/16',
- ],
+ '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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'FF1A7B2A-677F-4F71-96EA-6002B329F437',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'PublishedRouteEntries' => [
+ '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' => [
- 'PublishedRouteEntry' => [
- 'description' => 'A list of routes.'."\n",
+ 'VbrHealthCheck' => [
+ 'description' => 'The health check configurations of the VBR.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'NextHopId' => [
- 'description' => 'The ID of the instance specified as the next hop in the route.'."\n",
- 'type' => 'string',
- 'example' => ' ecs-bp18sth14qii3pn****',
- ],
- 'PublishStatus' => [
- 'description' => 'Indicates whether the route is advertised to the CEN instance. Valid values:'."\n"
- ."\n"
- .'* **Published**: The route is advertised to the CEN instance.'."\n"
- .'* **NonPublished**: The route is not advertised to the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'Published',
- ],
- 'ChildInstanceRouteTableId' => [
- 'description' => 'The ID of the route table configured on the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-il7qut3mjgtlcbpk2****',
- ],
- 'NextHopType' => [
- 'description' => 'The type of the instance specified as the next hop in the route.'."\n"
- ."\n"
- .'* **Instance**: ECS instance'."\n"
- .'* **HaVip**: high-availability virtual IP address (HAVIP).'."\n"
- .'* **RouterInterface**: router interface.'."\n"
- .'* **NetworkInterface**: elastic network interface (ENI).'."\n"
- .'* **VpnGateway**: VPN gateway.'."\n"
- .'* **IPv6Gateway**: IPv6 gateway.'."\n"
- .'* **NatGateway**: NAT gateway.'."\n"
- .'* **Attachment**: network instance connection'."\n"
- .'* **service**: cloud service'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **CCN**: CCN instance'."\n"
- .'* **VPC**: VPC'."\n"
- .'* **local**: system route. No next hop is specified.'."\n"
- .'* **TR**: transit router'."\n"
- .'* **BlackHole**: blackhole route. No next hop is specified.'."\n"
- .'* **EcRouterInterface**: router interface for Express Connect'."\n"
- .'* **HealthCheck**: health check'."\n"
- .'* **AS**: access gateway for CCN'."\n"
- .'* **classicLink**: classic network-type instance'."\n"
- .'* **GatewayEndpoint**: gateway endpoint'."\n"
- .'* **CPE**: data center connected to the VBR',
- 'type' => 'string',
- 'example' => 'Instance',
- ],
- 'OperationalMode' => [
- 'description' => 'Indicates whether the route is allowed to be advertised to or withdrawn from the CEN instance. Valid values:'."\n"
- ."\n"
- .'* **true**: The route is allowed to be advertised to or withdrawn from the CEN instance.'."\n"
- .'* **false**: The route is not allowed to be advertised to or withdrawn from the CEN instance.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'example' => '172.16.0.0/16',
- ],
- 'RouteType' => [
- 'description' => 'The type of the route. Valid values:'."\n"
- ."\n"
- .'* **CEN**: route that is advertised through CEN'."\n"
- .'* **System**: system route'."\n"
- .'* **Custom**: custom route'."\n",
- 'type' => 'string',
- 'example' => 'System',
- ],
- 'Conflicts' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Conflict' => [
- 'description' => 'A list of conflicting routes.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => 'The cause of the route confliction. 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',
- ],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the conflicting route.'."\n",
- 'type' => 'string',
- 'example' => '192.168.20.0/24',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the peer network instance on which conflicting routes are found.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-0q3b7oviikmm9h****',
- ],
- 'InstanceType' => [
- 'description' => 'The type of the peer network instance on which the conflicting routes are found. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **CCN**: CCN instance'."\n",
- 'type' => 'string',
- 'example' => 'CCN',
- ],
- 'RegionId' => [
- 'description' => 'The ID of the region where the peer network instance on which the conflicting routes are found is deployed.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-cn-shanghai',
- ],
- ],
- ],
- ],
- ],
- ],
+ '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' => 'ParameterIllegal.CenInstanceId',
- 'errorMessage' => 'The parameter of CEN instance id is illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ChildInstanceRegionId',
- 'errorMessage' => 'The parameter of child instance region id is illegal.',
- ],
- [
- 'errorCode' => 'VRC_ERROR',
- 'errorMessage' => 'VRC error',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ChildInstanceType',
- 'errorMessage' => 'The parameter of child instance type is illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal',
- 'errorMessage' => 'The parameter is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'Instance.NotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'InvalidOperation.ChildInstanceStatus',
- 'errorMessage' => 'The child-instance is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'Internal 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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":"{\\n \\"TotalCount\\": 2, \\n \\"PublishRouteEntries\\": {\\n \\"PublishRouteEntries\\": [\\n {\\n \\"DestinationCidrBlock\\": \\"100.64.0.0/10\\", \\n \\"NextHopId\\": \\"\\", \\n \\"NextHopType\\": \\"service\\", \\n \\"ChildInstanceRouteTableId\\": \\"vtb-il7qut3mjgtlcbpk2ie31\\", \\n \\"PublishStatus\\": \\"NonPublished\\", \\n \\"RouteConflicts\\": {\\n \\"RouteConflicts\\": []\\n }, \\n \\"RouteType\\": \\"System\\"\\n }, \\n {\\n \\"DestinationCidrBlock\\": \\"192.168.10.0/24\\", \\n \\"NextHopId\\": \\"\\", \\n \\"NextHopType\\": \\"local\\", \\n \\"ChildInstanceRouteTableId\\": \\"vtb-il7qut3mjgtlcbpk2ie31\\", \\n \\"PublishStatus\\": \\"Published\\", \\n \\"RouteConflicts\\": {\\n \\"RouteConflicts\\": []\\n }, \\n \\"RouteType\\": \\"System\\"\\n }\\n ]\\n }, \\n \\"PageNumber\\": 1, \\n \\"RequestId\\": \\"FF1A7B2A-677F-4F71-96EA-6002B329F437\\", \\n \\"PageSize\\": 10\\n}"},{"type":"xml","example":"<DescribeRouteConflictResponse>\\n\\t<TotalCount>2</TotalCount>\\n\\t<PublishRouteEntries>\\n\\t\\t<PublishRouteEntries>\\n\\t\\t\\t<DestinationCidrBlock>100.64.0.0/10</DestinationCidrBlock>\\n\\t\\t\\t<NextHopId></NextHopId>\\n\\t\\t\\t<NextHopType>service</NextHopType>\\n\\t\\t\\t<ChildInstanceRouteTableId>vtb-il7qut3mjgtlcbpk2****</ChildInstanceRouteTableId>\\n\\t\\t\\t<PublishStatus>NonPublished</PublishStatus>\\n\\t\\t\\t<RouteConflicts></RouteConflicts>\\n\\t\\t\\t<RouteType>System</RouteType>\\n\\t\\t</PublishRouteEntries>\\n\\t\\t<PublishRouteEntries>\\n\\t\\t\\t<DestinationCidrBlock>192.168.10.0/24</DestinationCidrBlock>\\n\\t\\t\\t<NextHopId></NextHopId>\\n\\t\\t\\t<NextHopType>local</NextHopType>\\n\\t\\t\\t<ChildInstanceRouteTableId>vtb-il7qut3mjgtlcbpk2****</ChildInstanceRouteTableId>\\n\\t\\t\\t<PublishStatus>Published</PublishStatus>\\n\\t\\t\\t<RouteConflicts></RouteConflicts>\\n\\t\\t\\t<RouteType>System</RouteType>\\n\\t\\t</PublishRouteEntries>\\n\\t</PublishRouteEntries>\\n\\t<PageNumber>1</PageNumber>\\n\\t<RequestId>FF1A7B2A-677F-4F71-96EA-6002B329F437</RequestId>\\n\\t<PageSize>10</PageSize>\\n</DescribeRouteConflictResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeRouteConflictResponse>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RequestId>B6C11547-2D56-4EEC-A8D5-FDC5A53E53D0</RequestId>\\n <RouteConflicts>\\n <RouteConflict/>\\n </RouteConflicts>\\n <TotalCount>0</TotalCount>\\n</DescribeRouteConflictResponse>"}]',
- '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.',
+ 'title' => 'DescribeCenVbrHealthCheck',
+ 'summary' => 'Queries the health check information for a virtual border router (VBR) in a specified region.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeRouteConflict' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -15492,208 +11032,252 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'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',
- ],
+ '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**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ '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' => 'ChildInstanceId',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ccn-0q3b7oviikmm9h****',
- ],
+ 'schema' => ['description' => 'The ID of the resource group to which the CEN instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm3unpnuw****', 'title' => ''],
],
[
- 'name' => 'ChildInstanceType',
+ 'name' => 'Filter',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
+ 'description' => 'The filter conditions.'."\n"
."\n"
- .'* **VPC**: virtual private cloud (VPC)'."\n"
- .'* **VBR**: virtual border router (VBR)'."\n"
- .'* **CCN**: Cloud Connect Network (CCN) instance'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'CCN',
+ .'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' => 'ChildInstanceRegionId',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the region where the network instance is deployed.'."\n"
+ 'description' => 'The tags.'."\n"
."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ccn-cn-shanghai',
- ],
- ],
- [
- 'name' => 'ChildInstanceRouteTableId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table that is configured on the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp174d1gje79u1g4t****',
- ],
- ],
- [
- 'name' => 'DestinationCidrBlock',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the conflicting route.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => '172.16.0.0/16',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EE3A2CC7-41F1-58DB-8306-CFC99D9C747B',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RouteConflicts' => [
+ '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' => [
- 'RouteConflict' => [
- 'description' => 'A list of overlapping routes.'."\n",
+ 'Cen' => [
+ 'description' => 'A list of CEN instances.',
'type' => 'array',
'items' => [
+ 'description' => 'The information about the CEN instance.',
'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',
- ],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the overlapping route.'."\n",
- 'type' => 'string',
- 'example' => '172.16.0.0/16',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the peer network instance on which the overlapping routes are found.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-0q3b7oviikmm9h****',
- ],
- 'InstanceType' => [
- 'description' => 'The type of the peer network instance on which the overlapping routes are found.'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **CCN**: CCN instance'."\n",
- 'type' => 'string',
- 'example' => 'CCN',
+ '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' => '',
],
- 'RegionId' => [
- 'description' => 'The region ID of the peer network instance on which the overlapping routes are found is deployed.'."\n",
- 'type' => 'string',
- 'example' => 'ccn-cn-shanghai',
+ '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' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidChildInstanceId.NotFound',
- 'errorMessage' => 'The specified ChildInstanceId is not found.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":"{\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 0,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B6C11547-2D56-4EEC-A8D5-FDC5A53E53D0\\",\\n \\"RouteConflicts\\": {\\n \\"RouteConflict\\": []\\n }\\n}"},{"type":"xml","example":"<DescribeRouteConflictResponse>\\n<TotalCount>1</TotalCount>\\n<RequestId>EE3A2CC7-41F1-58DB-8306-CFC99D9C747B</RequestId>\\n<PageSize>10</PageSize>\\n<PageNumber>1</PageNumber>\\n<RouteConflicts>\\n <RouteConflict>\\n <InstanceId>ccn-0q3b7oviikmm9h****</InstanceId>\\n <DestinationCidrBlock>172.16.0.0/16</DestinationCidrBlock>\\n <RegionId>ccn-cn-shanghai</RegionId>\\n <InstanceType>CCN</InstanceType>\\n </RouteConflict>\\n</RouteConflicts>\\n</DescribeRouteConflictResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeRouteConflictResponse>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RequestId>B6C11547-2D56-4EEC-A8D5-FDC5A53E53D0</RequestId>\\n <RouteConflicts>\\n <RouteConflict/>\\n </RouteConflicts>\\n <TotalCount>0</TotalCount>\\n</DescribeRouteConflictResponse>"}]',
- 'title' => 'DescribeRouteConflict',
- 'summary' => 'Queries conflicting routes on a network instance.',
+ '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' => ' ',
- ],
- 'PublishRouteEntries' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -15701,80 +11285,24 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
- ],
- [
- 'name' => 'ChildInstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-rj9gt5nll27onu****',
- ],
- ],
- [
- 'name' => 'ChildInstanceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- '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 [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'us-west-1',
- ],
- ],
- [
- 'name' => 'ChildInstanceRouteTableId',
+ 'name' => 'ProductType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table configured on the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp174d1gje7****',
- ],
+ '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' => 'DestinationCidrBlock',
+ 'name' => 'AcceptLanguage',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the route that you want to advertise.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '172.16.1.0/24',
- ],
+ 'allowEmptyValue' => true,
+ 'schema' => ['description' => 'The language of the response. Valid values:', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''],
],
],
'responses' => [
@@ -15782,101 +11310,69 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133',
+ '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' => 'ParameterIllegal.AliUid',
- 'errorMessage' => 'The parameter of aliUid is illegal.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UnsupportnexthopType',
- 'errorMessage' => 'The nexthop type is unsupported',
- ],
- [
- 'errorCode' => 'InvalidOperation.NotFoundRoute',
- 'errorMessage' => 'The specified route does not exist.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.CenInstanceId',
- 'errorMessage' => 'The parameter of CEN instance id is illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ChildInstanceRegionId',
- 'errorMessage' => 'The parameter of child instance region id is illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ChildInstanceType',
- 'errorMessage' => 'The parameter of child instance type is illegal.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UnsupportRouteTableType',
- 'errorMessage' => 'The route table type is unsupported',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'Instance.NotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'InvalidOperation.ChildInstanceStatus',
- 'errorMessage' => 'The child-instance is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}","errorExample":"\\n{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}\\n\\n"},{"type":"xml","example":"<PublishRouteEntriesResponse>\\n <RequestId>FBDB18D8-E91E-4978-8D6C-6E2E3EE101330</RequestId>\\n</PublishRouteEntriesResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<PublishRouteEntriesResponse>\\n <RequestId>FBDB18D8-E91E-4978-8D6C-6E2E3EE101330</RequestId>\\n</PublishRouteEntriesResponse>"}]',
- 'title' => 'PublishRouteEntries',
- 'summary' => 'Cloud Enterprise Network (CEN) supports route advertisement. You can call this operation to advertise routes of virtual private clouds (VPCs) or virtual border routers (VBRs) attached to a CEN instance to the CEN instance. Other network instances attached to the CEN instance can learn the routes if route conflicts do not exist.',
- 'description' => 'The following table describes whether routes of different types are advertised to CEN by default. You can call the PublishRouteEntries operation to advertise routes to CEN.'."\n"
- ."\n"
- .'|Route|Network instance|Advertised to CEN by default|'."\n"
- .'|---|---|---|'."\n"
- .'|Routes that route network traffic to Elastic Compute Service (ECS) instances|VPC|No|'."\n"
- .'|Routes that route network traffic to VPN gateways|VPC|No|'."\n"
- .'|Routes that route network traffic to high-availability virtual IP addresses (HAVIPs)|VPC|No|'."\n"
- .'|Routes that route network traffic to router interfaces|VPC|No|'."\n"
- .'|Routes that route network traffic to elastic network interfaces (ENIs)|VPC|No|'."\n"
- .'|Routes that route network traffic to IPv6 gateways|VPC|No|'."\n"
- .'|Routes that route network traffic to NAT gateways|VPC|No|'."\n"
- .'|System routes of VPCs|VPC|Yes|'."\n"
- .'|Routes that route network traffic to data centers|VBR|Yes|'."\n"
- .'|Border Gateway Protocol (BGP) routes|VBR|Yes|',
+ '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' => ' ',
- ],
- 'WithdrawPublishedRouteEntries' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2023-09-08T01:53:36.000Z', 'description' => 'Request parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -15885,431 +11381,305 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72360',
+ 'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06', 'FEATUREcbnWRIR8E'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-sxjfjkjfkjfiein****',
- ],
+ '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' => 'ChildInstanceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the attached network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-rj9gt5nll27onu7****',
- ],
+ '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' => 'ChildInstanceType',
+ 'name' => 'FlowLogName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the attached network instance.'."\n"
- ."\n"
- .'Set the value to **VPC**, which indicates a virtual private cloud (VPC).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'VPC',
- ],
+ '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' => 'ChildInstanceRegionId',
+ 'name' => 'FlowLogId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the attached network instance is created.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the flow log.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flowlog-m5evbtbpt****', 'title' => ''],
],
[
- 'name' => 'ChildInstanceRouteTableId',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the attached network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp174d1gje79u1g4t****',
- ],
+ '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' => 'DestinationCidrBlock',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the route that you want to withdraw.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '172.XX.XX.0/24',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133',
- ],
- ],
- 'description' => '',
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidOperation.UnsupportnexthopType',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.CenInstanceId',
- 'errorMessage' => 'The parameter of CEN instance id is illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ChildInstanceRegionId',
- 'errorMessage' => 'The parameter of child instance region id is illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ChildInstanceType',
- 'errorMessage' => 'The parameter of child instance type is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'Instance.NotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'InvalidOperation.ChildInstanceStatus',
- 'errorMessage' => 'The child-instance is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation.',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}","errorExample":"\\n{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}\\n\\n"},{"type":"xml","example":"<WithdrawPublishedRouteEntriesResponse>\\n <RequestId>FBDB18D8-E91E-4978-8D6C-6E2E3EE101330</RequestId>\\n</WithdrawPublishedRouteEntriesResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<PublishRouteEntriesResponse>\\n <RequestId>FBDB18D8-E91E-4978-8D6C-6E2E3EE101330</RequestId>\\n</PublishRouteEntriesResponse>"}]',
- 'title' => 'WithdrawPublishedRouteEntries',
- 'summary' => 'Withdraws the routes of a virtual private cloud (VPC) or a virtual border router (VBR) from a Cloud Enterprise Network (CEN) instance.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateTransitRouterRouteTable' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- ],
- 'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'ProjectName',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'TransitRouterRouteTableName',
+ 'name' => 'LogStoreName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the custom route table.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'TransitRouterRouteTableDescription',
+ 'name' => 'Status',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the custom route table.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-bp1su1ytdxtataupl****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to precheck the request. Check items include permissions and the status of the specified cloud resources. Valid values:'."\n"
- ."\n"
- .'* **false** (default): sends the request. If the request passes the precheck, the custom route table is created.'."\n"
- .'* **true**: prechecks the request but does not create the custom route table. 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 check, the system returns the ID of the request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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 tags.'."\n"
+ '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' => 'test',
- ],
- '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' => 'tagtest',
- ],
+ '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' => 'RouteTableOptions',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The features of the route table.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'MultiRegionECMP' => [
- 'description' => 'Specifies whether to enable multi-region equal-cost multi-path (ECMP) routing. Valid values:'."\n"
- ."\n"
- .'* **disable**(default) If multi-region ECMP routing is disabled, 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. Region IDs are sorted in alphabetic order. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.'."\n"
- .'* **enable** If multi-region ECMP routing is enabled, routes that are learned from different regions but have the same prefix and attributes form an ECMP route. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'disable',
- 'default' => 'disable',
- 'enum' => [
- 'enable',
- 'disable',
- ],
- ],
- ],
- 'required' => false,
- ],
+ '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' => '',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'TransitRouterRouteTableId' => [
- 'description' => 'The ID of the custom route table.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-bp1xbcgpgcz9axl9m****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '599904C8-A3DA-4E5F-83B6-D5364E664247',
+ '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' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'TransitRouterId is not found',
- ],
- [
- 'errorCode' => 'OperationFailed.CCNTrNotSupport',
- 'errorMessage' => 'Operation failed because the CCN transit router does not support route table.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterId',
- 'errorMessage' => 'The parameter TransitrouterId is mandatory.',
- ],
- [
- 'errorCode' => 'OperationFailed.BasicTrNotSupport',
- 'errorMessage' => 'Operation failed because the Basic TransitRouter does not support RouteTable',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'TransitRouter status is invalid.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.TransitRouterRoutTable',
- 'errorMessage' => 'TransitRouterRoutTable quota exceeded.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.MultiRegionEcmp',
- 'errorMessage' => 'This region does not support MultiRegionEcmp.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterRouteTableId\\": \\"vtb-bp1xbcgpgcz9axl9m****\\",\\n \\"RequestId\\": \\"599904C8-A3DA-4E5F-83B6-D5364E664247\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterRouteTableResponse>\\n <TransitRouterRouteTableId>vtb-bp1xbcgpgcz9axl9m****</TransitRouterRouteTableId>\\n <RequestId>599904C8-A3DA-4E5F-83B6-D5364E664247</RequestId>\\n</CreateTransitRouterRouteTableResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouterRouteTable',
- 'summary' => 'Creates a custom route table for an Enterprise Edition transit router.',
- 'description' => '* Only Enterprise Edition transit routers support custom route tables. For more information about the regions and zones that support Enterprise Edition transit routers, see [What is CEN?](~~181681~~)'."\n"
- ."\n"
- .'* **CreateTransitRouterRouteTable** is an asynchronous operation. After you send a request, the route table ID is returned but the operation is still being performed in the system background. You can call **ListTransitRouterRouteTables** to query the status of a route table.'."\n"
- ."\n"
- .' * If a route table is in the **Creating** state, the route table is being created. In this case, you can query the route table but cannot perform other operations.'."\n"
- .' * If a route table is in the **Active** state, the route table is created.',
+ ['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' => ' ',
- ],
- 'DeleteTransitRouterRouteTable' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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":"<DescribeFlowlogsResponse>\\n <PageSize>20</PageSize>\\n <PageNumber>1</PageNumber>\\n <RequestId>F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1</RequestId>\\n <TotalCount>1</TotalCount>\\n <Success>true</Success>\\n <FlowLogs>\\n <Status>Active</Status>\\n <CreationTime>2021-07-24T13:00:52Z</CreationTime>\\n <FlowLogName>myFlowlog</FlowLogName>\\n <Description>myFlowlog</Description>\\n <ProjectName>FlowLogProject</ProjectName>\\n <CenId>cen-7qthudw0ll6jmc****</CenId>\\n <LogStoreName>FlowLogStore</LogStoreName>\\n <RegionId>cn-hangzhou</RegionId>\\n <FlowLogId>flowlog-m5evbtbpt****</FlowLogId>\\n <Tags>\\n <Key>TagKey</Key>\\n <Value>TagValue</Value>\\n </Tags>\\n </FlowLogs>\\n</DescribeFlowlogsResponse>","errorExample":""}]',
+ ],
+ 'DescribeGeographicRegionMembership' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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 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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Valid 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 the 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,
- 'example' => 'false',
- ],
+ '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' => 'TransitRouterRouteTableId',
+ 'name' => 'GeographicRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the custom route table.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1xbcgpgcz9axl9m****',
- ],
+ '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' => [
@@ -16317,244 +11687,265 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EAB2F133-8556-4D7C-9E91-7EE4FE9CC7D2',
+ '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' => 'OperationFailed.DeleteSystemRouteTable',
- 'errorMessage' => 'Operation failed because You are not allowed to Delete System Transit Route Table.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterRouteTableId.NotFound',
- 'errorMessage' => 'TransitRouterRouteTableId is not found.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterRouteTableId',
- 'errorMessage' => 'The parameter TransitRouterRouteTableId is mandatory.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterRouteTable',
- 'errorMessage' => 'TransitRouterRouteTable status is invalid.',
- ],
- [
- 'errorCode' => 'OperationFailed.DeleteRouteTableWithAssociation',
- 'errorMessage' => 'Operation failed because you are not allowed to delete TransitRouterRouteTable with association',
- ],
- [
- 'errorCode' => 'OperationFailed.DeleteRouteTableWithPropagation',
- 'errorMessage' => 'Operation failed because you are not allowed to delete transit router route table with propagation',
- ],
- [
- 'errorCode' => 'OperationFailed.DeleteRouteTableWithRouteEntry',
- 'errorMessage' => 'Operation failed because you are not allowed to delete transit touter route table with route entry',
- ],
- [
- 'errorCode' => 'OperationFailed.DeleteRouteTableWithRouteAggregation',
- 'errorMessage' => 'Operation is invalid because delete route table with route aggregation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EAB2F133-8556-4D7C-9E91-7EE4FE9CC7D2\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterRouteTableResponse>\\n <RequestId>EAB2F133-8556-4D7C-9E91-7EE4FE9CC7D2</RequestId>\\n</DeleteTransitRouterRouteTableResponse>","errorExample":""}]',
- 'title' => 'DeleteTransitRouterRouteTable',
- 'summary' => 'Deletes a custom route table from 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 **request ID** and runs the task in the background. You can call the **ListTransitRouterRouteTables** operation to query the status of a custom route table.'."\n"
- ."\n"
- .' * If a custom route table is in the Deleting state, the custom route table is being deleted. In this case, you can query the custom route table but cannot perform other operations.'."\n"
- .' * If a custom route table cannot be found, the custom route table is deleted.'."\n",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeGeographicRegionMembership',
+ 'summary' => 'Queries regions in an area.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UpdateTransitRouterRouteTable' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2024-02-20T02:38:30.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72362',
+ 'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
],
'parameters' => [
[
- 'name' => 'TransitRouterRouteTableId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ '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' => 'TransitRouterRouteTableName',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the route table.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-nye53d7p3hzyu4****', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteTableDescription',
+ 'name' => 'ProductType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the route table.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ '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' => 'ClientToken',
+ 'name' => 'MaxResults',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'NextToken',
'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 the 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,
- 'example' => 'false',
- ],
+ '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' => 'RouteTableOptions',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The features of the route table.',
- 'type' => 'object',
- 'properties' => [
- 'MultiRegionECMP' => [
- 'description' => 'Indicates whether multi-region ECMP routing is enabled. Valid values:'."\n"
- ."\n"
- .'- **disable**: If multi-region ECMP routing is disabled, 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. Region IDs are sorted in alphabetic order. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.'."\n"
- .'- **enable**: If multi-region ECMP routing is enabled, routes that are learned from different regions but have the same prefix and attributes form an ECMP route. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'disable',
- 'enum' => [
- 'enable',
- 'disable',
- ],
- ],
- ],
- 'required' => false,
- ],
+ '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 => [
- 'headers' => [],
'schema' => [
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '9D6D5548-F271-41C4-AA9F-A62F5599085B',
+ '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' => 'InvalidTransitRouterRouteTableId.NotFound',
- 'errorMessage' => 'TransitRouterRouteTableId is not found.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.MultiRegionEcmp',
- 'errorMessage' => 'This region does not support MultiRegionEcmp.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9D6D5548-F271-41C4-AA9F-A62F5599085B\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTransitRouterRouteTableResponse>\\n <RequestId>9D6D5548-F271-41C4-AA9F-A62F5599085B</RequestId>\\n</UpdateTransitRouterRouteTableResponse>","errorExample":""}]',
- 'title' => 'UpdateTransitRouterRouteTable',
- 'summary' => 'Modifies the name and description of a route table of an Enterprise Edition transit router and enables or disables multi-region equal-cost multi-path (ECMP) routing.',
+ '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' => ' ',
- ],
- 'ListTransitRouterRouteTables' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -16564,483 +11955,203 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '154918',
+ 'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
],
'parameters' => [
[
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '20',
- 'default' => '20',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dd20****',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteTableType',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the route table. Valid values:'."\n"
- ."\n"
- .'* **Custom**: a custom route table'."\n"
- .'* **System**: the default route table'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Custom',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'ResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'tr-uf654ttymmljlvh2x****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'example' => 'vpc-p0wfut1iqauelpdpb****', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteTableStatus',
+ 'name' => 'ProductType',
'in' => 'query',
'schema' => [
- 'description' => 'The status of the route table. Valid values:'."\n"
+ 'description' => 'The type of the network instance. Valid values:'."\n"
."\n"
- .'* **Creating**: The route table is being created.'."\n"
- .'* **Deleting**: The route table is being deleted.'."\n"
- .'* **Active**: The route table is available.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteTableNames',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The name of the route table.'."\n"
+ .'- **VPC**: a Virtual Private Cloud (VPC) instance.'."\n"
."\n"
- .'You can query multiple route tables in each call. Maximum value of **N**: **20**.'."\n"
+ .'- **ExpressConnect**: a Virtual Border Router (VBR) instance.'."\n"
."\n"
- .'> If you set both **TransitRouterRouteTableNames.N** and **TransitRouterRouteTableIds.N**, make sure that the specified name and ID belong to the same route table.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The name of the route table.'."\n"
- ."\n"
- .'You can query multiple route tables in each call. Maximum value of **N**: **20**.'."\n"
- ."\n"
- .'> If you set both **TransitRouterRouteTableNames.N** and **TransitRouterRouteTableIds.N**, make sure that the specified name and ID belong to the same route table.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
- 'required' => false,
- 'example' => 'testname',
- 'maxItems' => 20,
- ],
- ],
- [
- 'name' => 'TransitRouterRouteTableIds',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The ID of the route table.'."\n"
+ .'- **VPN**: an IPsec connection.'."\n"
."\n"
- .'You can query multiple route tables in each call. Maximum value of **N**: **20**.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the route table.'."\n"
- ."\n"
- .'You can query multiple route tables in each call. Maximum value of **N**: **20**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
- 'required' => false,
- 'example' => 'vtb-bp1l8awdb4iuo9uwu****',
- 'maxItems' => 20,
+ .'- **ECR**: an ExpressConnect Router (ECR) instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['ExpressConnect', 'VPC', 'VPN', 'ECR'],
+ 'example' => 'VPC',
+ 'title' => '',
],
],
[
- 'name' => 'Tag',
+ 'name' => 'MaxResults',
'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' => 'test',
- ],
- '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' => 'test',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => 'RouteTableOptions',
+ 'name' => 'NextToken',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The features of the route table.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'MultiRegionECMP' => [
- 'description' => 'Specifies whether to enable equal-cost multi-path (ECMP) routing. Valid values:'."\n"
- ."\n"
- .'* **disable**: disables ECMP routing If you disable ECMP routing, 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. Region IDs are sorted in alphabetic order. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.'."\n"
- .'* **enable**: enables ECMP routing. If you enable ECMP routing, routes that are learned from different regions but have the same prefix and attributes form an ECMP route. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'disable' => 'disable',
- 'enable' => 'enable',
- ],
- 'example' => 'disable',
- ],
- ],
- 'required' => false,
- ],
+ '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 parameters.'."\n",
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the next query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n"
- .'* If a value of **NextToken** is not returned, it indicates that no additional results exist.'."\n",
- 'type' => 'string',
- 'example' => 'dd20****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '82678F4A-C9F7-4CC1-8BF0-D619A63BFC57',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TransitRouterRouteTables' => [
- 'description' => 'A list of route tables.'."\n",
+ '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' => [
- 'TransitRouterRouteTableStatus' => [
- 'description' => 'The status of the route table. Valid values:'."\n"
- ."\n"
- .'* **Creating**'."\n"
- .'* **Deleting**'."\n"
- .'* **Active**'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'TransitRouterRouteTableType' => [
- 'description' => 'The type of the route table. Valid values:'."\n"
- ."\n"
- .'* **Custom**'."\n"
- .'* **System**'."\n",
- 'type' => 'string',
- 'example' => 'System',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the route table was created.'."\n"
- ."\n"
- .'The time follows the ISO8601 standard in the YYYY-MM-DDThh:mmZ format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2021-03-15T09:39Z',
- ],
- 'TransitRouterRouteTableId' => [
- 'description' => 'The ID of the route table.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
- 'TransitRouterRouteTableName' => [
- 'description' => 'The name of the route table.'."\n",
- 'type' => 'string',
- 'example' => 'testname',
- ],
- 'TransitRouterRouteTableDescription' => [
- 'description' => 'The description of the route table.'."\n",
- 'type' => 'string',
- 'example' => 'testdesc',
- ],
- 'Tags' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
- 'RouteTableOptions' => [
- 'description' => 'The features of the route table.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'MultiRegionECMP' => [
- 'description' => 'Indicates whether ECMP routing is enabled. Valid values:'."\n"
- ."\n"
- .'* **disable** If ECMP routing is disabled, 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. Region IDs are sorted in alphabetic order. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.'."\n"
- .'* **enable** If ECMP routing is enabled, routes that are learned from different regions but have the same prefix and attributes form an ECMP route. The network latency and bandwidth consumption also vary based on the region. Proceed with caution.'."\n",
- 'type' => 'string',
- 'enumValueTitles' => [
- 'disable' => 'disable',
- 'enable' => 'enable',
- ],
- 'example' => 'disable',
- ],
- ],
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'cn-beijing',
- ],
- 'TransitRouterId' => [
- 'description' => 'The transit router ID.'."\n",
- 'type' => 'string',
- 'example' => 'tr-8vb8bie2koduo5awz****',
- ],
+ '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' => 'IllegalParam.NextToken',
- 'errorMessage' => 'NextToken is illegal',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterIdOrTransitRouterRouteTables',
- 'errorMessage' => 'Either TransitRouterId or TransitRouterRouteTables must be specified.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterRouteTablesResponse>\\n <NextToken>dd20****</NextToken>\\n <RequestId>82678F4A-C9F7-4CC1-8BF0-D619A63BFC57</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>1</MaxResults>\\n <TransitRouterRouteTables>\\n <TransitRouterRouteTableStatus>Active</TransitRouterRouteTableStatus>\\n <TransitRouterRouteTableType>System</TransitRouterRouteTableType>\\n <CreateTime>2021-03-15T09:39Z</CreateTime>\\n <TransitRouterRouteTableId>vtb-bp1dudbh2d5na6b50****</TransitRouterRouteTableId>\\n <TransitRouterRouteTableName>testname</TransitRouterRouteTableName>\\n <TransitRouterRouteTableDescription>testdesc</TransitRouterRouteTableDescription>\\n </TransitRouterRouteTables>\\n</ListTransitRouterRouteTablesResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterRouteTables',
- 'summary' => 'Queries the route tables of an Enterprise Edition transit router.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateTransitRouterRouteEntry' => [
- 'summary' => 'Adds a route to a route table of an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72308',
- 'abilityTreeNodes' => [
- 'FEATUREcbnT33W0H',
- 'FEATUREcbn476RI8',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteEntryName',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'TransitRouterRouteEntryDescription',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jm****', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteTableId',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp18sth14qii3pnv****', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteEntryNextHopType',
+ 'name' => 'ChildInstanceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the next hop. Valid values:'."\n"
- ."\n"
- .'* **BlackHole**: routes network traffic to a black hole. All packets that match this route are dropped. If you select this option, you do not need to specify the next hop information.'."\n"
- .'* **Attachment**: routes network traffic to a network instance connection. If you select this option, you must specify the ID of the network instance connection. All packets that match this route are routed to the specified network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'BlackHole',
- ],
+ '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' => 'TransitRouterRouteEntryDestinationCidrBlock',
+ 'name' => 'ChildInstanceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the route entry. IPv4 and IPv6 addresses are supported.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '192.168.0.0/24',
- ],
+ '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' => 'TransitRouterRouteEntryNextHopId',
+ 'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection that you want to specify as the next hop.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => false, 'example' => 'vtb-bp174d1gje79u1g4****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'DestinationCidrBlock',
'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 message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => [
@@ -17048,243 +12159,247 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TransitRouterRouteEntryId' => [
- 'description' => 'The ID of the route.'."\n",
- 'type' => 'string',
- 'example' => 'rte-75eg4jprkvk0pw****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '835E7F4B-B380-4E0F-96A5-6EA572388047',
+ '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' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterRouteTableId.NotFound',
- 'errorMessage' => 'TransitRouterRouteTableId is not found.',
- ],
- [
- 'errorCode' => 'TransitRouterRouteEntryNextHopId.NotFound',
- 'errorMessage' => 'TransitRouterRouteEntryNextHopId is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.CreateRouteEntryWithCCNAttachment',
- 'errorMessage' => 'Operation failed because Create RouteEntry to CCN Attachment does not support.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.TransitRouterRoutEntry',
- 'errorMessage' => 'TransitRouterRoutEntry quota exceeded.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterDestinationCidrBlock',
- 'errorMessage' => 'TransitRouterDestinationCidrBlock is illegal.',
- ],
- [
- 'errorCode' => 'InstanceExist.TransitRouterRouteEntry',
- 'errorMessage' => 'The instance TransitRouterRouteEntry already exists.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterRouteTable',
- 'errorMessage' => 'TransitRouterRouteTable status is invalid.',
- ],
- [
- 'errorCode' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock',
- 'errorMessage' => 'RouteEntryId and TransitRouterRouteTableIdOrDestCidrBlock is mutually exclusive.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextHopType',
- 'errorMessage' => 'The NextHopType is illegal.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterRouteEntryNextHopId',
- 'errorMessage' => 'The parameter TransitRouterRouteEntryNextHopId is mandatory',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterRouteEntryNextHopId.NotFound',
- 'errorMessage' => 'TransitRouterRouteEntryNextHopId is not found',
- ],
- [
- 'errorCode' => 'OperationFailed.CreateRouteEntryWithSameDestinationCidrBlock',
- 'errorMessage' => 'Operation failed because Create RouteEntry with same destination cidrblock does not support.',
- ],
- [
- 'errorCode' => 'InvalidDestinationCidrBlock.NotFound',
- 'errorMessage' => 'DestinationCidrBlock is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.CreateRouteEntryWithConnectAttachment',
- 'errorMessage' => 'Operation failed because Create RouteEntry to connect Attachment does not support.',
- ],
- [
- 'errorCode' => 'ParamExclusive.NextHopTypeBlackHoleAndNextHopId',
- 'errorMessage' => 'TransitRouterRouteEntryNextHopType(BlackHole) and TransitRouterRouteEntryNextHopId is mutually exclusive.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'OperationFailed.CreateTransitRouterRouteEntryWithVPCAttachment',
- 'errorMessage' => 'The specified VPC Attachment has not enable IPv6.',
- ],
- [
- 'errorCode' => 'OperationFailed.CreateTransitRouterRouteEntryWithVPNAttachment',
- 'errorMessage' => 'Create RouteEntry to VPN Attachment does not support IPv6.',
- ],
- [
- 'errorCode' => 'NotSupport.AttachmentRoute',
- 'errorMessage' => 'Not support such attachment route.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterRouteEntries',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TransitRouterRouteEntryId\\": \\"rte-75eg4jprkvk0pw****\\",\\n \\"RequestId\\": \\"835E7F4B-B380-4E0F-96A5-6EA572388047\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterRouteEntryResponse>\\n <TransitRouterRouteEntryId>rte-75eg4jprkvk0pw****</TransitRouterRouteEntryId>\\n <RequestId>835E7F4B-B380-4E0F-96A5-6EA572388047</RequestId>\\n</CreateTransitRouterRouteEntryResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouterRouteEntry',
- 'description' => '**CreateTransitRouterRouteEntry** is an asynchronous operation. After you send a request, the route ID is returned but the operation is still being performed in the system background. You can call **ListTransitRouterRouteEntries** to query the status of a route.'."\n"
- ."\n"
- .'* If a route is in the **Creating** state, the route is being created. In this case, you can query the route but cannot perform other operations.'."\n"
- .'* If a route is in the **Active** state, the route is created.',
+ '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' => ' ',
- ],
- 'DeleteTransitRouterRouteEntry' => [
- 'summary' => 'Deletes blackhole routes and static routes that point to network instance connections from the route tables of an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePublishedRouteEntries'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72329',
- 'abilityTreeNodes' => [
- 'FEATUREcbnT33W0H',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to check the request but not perform the operation. The system checks the permissions and the status of the specified instances. Valid values:'."\n"
- ."\n"
- .'* **false** (default): sends the request. If the request passes the precheck, the route is deleted.'."\n"
- .'* **true**: sends a precheck request. The route is not deleted after the request passes the precheck. If you use this value, the system checks the required parameters and the request syntax. If the check fails, the corresponding error message is returned. If the request passes the check, the system returns the ID of the request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'TransitRouterRouteEntryId',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route entry.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rte-75eg4jprkvk0pw****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ccn-0q3b7oviikmm9h****', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteEntryNextHopType',
+ 'name' => 'ChildInstanceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the next hop. Valid values:'."\n"
- ."\n"
- .'* **BlackHole**: a blackhole route. You do not need to specify a next hop.'."\n"
- .'* **Attachment**: a network instance connection. You must specify a network instance connection as the next hop.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'BlackHole',
- ],
+ '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' => 'TransitRouterRouteEntryDestinationCidrBlock',
+ 'name' => 'ChildInstanceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.0.0/24',
- ],
+ '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' => 'TransitRouterRouteEntryNextHopId',
+ 'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection that you want to specify as the next hop.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp174d1gje79u1g4t****', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteTableId',
+ 'name' => 'DestinationCidrBlock',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ 'schema' => ['description' => 'The destination CIDR block of the conflicting route.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/16', 'title' => ''],
],
],
'responses' => [
@@ -17292,240 +12407,253 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E',
+ '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' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryId',
- 'errorMessage' => 'TransitRouterRouteEntryId is not found.',
- ],
- [
- 'errorCode' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock',
- 'errorMessage' => 'RouteEntryId and TransitRouterRouteTableIdOrDestCidrBlock is mutually exclusive.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterRouteTableId.NotFound',
- 'errorMessage' => 'TransitRouterRouteTableId is not found.',
- ],
- [
- 'errorCode' => 'InvalidDestinationCidrBlock.NotFound',
- 'errorMessage' => 'DestinationCidrBlock is not found.',
- ],
- [
- 'errorCode' => 'OperationFailed.DeleteTransitRouterRouteEntry',
- 'errorMessage' => 'Operation failed because this route entry is created automatically.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextHopType',
- 'errorMessage' => 'The NextHopType is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteTableId',
- 'errorMessage' => 'The transitRouter route table id is illegal.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterRouteEntryNextHopId',
- 'errorMessage' => 'The parameter TransitRouterRouteEntryNextHopId is mandatory',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterRouteEntries',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterRouteEntryResponse>\\n <RequestId>2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E</RequestId>\\n</DeleteTransitRouterRouteEntryResponse>","errorExample":""}]',
- 'title' => 'DeleteTransitRouterRouteEntry',
- 'description' => 'Before you call this operation, take note of the following items:'."\n"
- ."\n"
- .'* If you specify the **TransitRouterRouteEntryId** parameter to delete a specific route, you do not need to configure the **TransitRouterRouteTableId** or **TransitRouterRouteEntryDestinationCidrBlock**. Otherwise, parameter conflicts occur.'."\n"
- ."\n"
- .'* If you do not specify the **TransitRouterRouteEntryId** parameter, configure the following parameters based on the next hop type of the route that you want to delete:'."\n"
- ."\n"
- .' * To delete a blackhole route, configure the following parameters: **TransitRouterRouteTableId**, **TransitRouterRouteEntryDestinationCidrBlock**, and **TransitRouterRouteEntryNextHopType**.'."\n"
- .' * To delete routes other than blackhole routes, configure the following parameters: **TransitRouterRouteTableId**, **TransitRouterRouteEntryDestinationCidrBlock**, **TransitRouterRouteEntryNextHopType**, and **TransitRouterRouteEntryNextHopId**.'."\n"
- ."\n"
- .'* **DeleteTransitRouterRouteEntry** 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 **ListTransitRouterRouteEntries** operation to query the status of a route entry.'."\n"
- ."\n"
- .' * If the route entry is in the **Deleting** state, the route entry is being deleted. In this case, you can query the route entry but cannot perform other operations.'."\n"
- .' * If a route entry cannot be found, it is deleted.'."\n"
- ."\n"
- .'### [](#)Limits'."\n"
- ."\n"
- .'You can call this operation to delete only static routes. Automatically learned routes are not supported. You can call the [ListTransitRouterRouteEntries](~~260941~~) operation to query route types.'."\n",
+ 'title' => 'DescribeRouteConflict',
+ 'summary' => 'The DescribeRouteConflict operation queries conflicting routes in a network instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UpdateTransitRouterRouteEntry' => [
- 'summary' => 'Modifies the name and description of a route in a route table of an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2023-10-18T03:03:16.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'TransitRouterRouteEntryId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'rte-ksssq7kto4wfdx****',
- ],
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteEntryName',
+ 'name' => 'PageSize',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
+ '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' => 'TransitRouterRouteEntryDescription',
+ 'name' => 'CenId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testdesc',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-pfa6ugf3xl0qsd****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'Host',
'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,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'HostRegionId',
'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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E',
+ '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' => 'IllegalParam.TransitRouterRouteEntryId',
- 'errorMessage' => 'TransitRouterRouteEntryId is not found.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'OperationFailed.UpdateTransitRouterRouteEntry',
- 'errorMessage' => 'Operation failed because this route entry is created by system.',
- ],
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTransitRouterRouteEntryResponse>\\n <RequestId>2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E</RequestId>\\n</UpdateTransitRouterRouteEntryResponse>","errorExample":""}]',
- 'title' => 'UpdateTransitRouterRouteEntry',
+ 'title' => 'DescribeRouteServicesInCen',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListTransitRouterRouteEntries' => [
- 'summary' => 'Queries the details about routes in the route tables of an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRouteServicesInCen'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -17535,611 +12663,162 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72395',
- 'abilityTreeNodes' => [
- 'FEATUREcbnIIZZGE',
- ],
+ 'abilityTreeCode' => '154264',
+ 'abilityTreeNodes' => ['FEATUREcbnT33W0H', 'FEATUREcbn476RI8'],
],
'parameters' => [
[
- 'name' => 'MaxResults',
+ 'name' => 'TransitRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '20',
- 'default' => '20',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteEntryDestinationCidrBlock',
+ 'name' => 'TransitRouteTableAggregationCidr',
'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**.'."\n",
- 'type' => 'string',
- 'deprecated' => true,
- 'required' => false,
- 'docRequired' => false,
- 'example' => '192.168.0.0/24',
- ],
+ 'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
- 'name' => 'TransitRouterRouteEntryStatus',
+ 'name' => 'ClientToken',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
+ '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' => 'TransitRouterRouteTableId',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ '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"
- .'* You must specify the token that is obtained from the previous query as the value of **NextToken**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'fce19****',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryNames',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The route name.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testname',
- ],
- 'required' => false,
- 'example' => 'testname',
- 'maxItems' => 20,
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryIds',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The route ID.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rte-oklkgwmj97z6dn****',
- ],
- 'required' => false,
- 'example' => 'rte-oklkgwmj97z6dn****',
- 'maxItems' => 20,
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The route type. Valid values:'."\n"
- ."\n"
- .'* **Propagated**: automatically learned by the route table.'."\n"
- .'* **Static**: static routes.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Attachment',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryNextHopId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection that you want to specify as the next hop.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryNextHopResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The next hop ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-m5ent6du8deaq5*****',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryNextHopResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The next hop type. Valid values:'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **TR**'."\n"
- .'* **VPN**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryOriginResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The source instance ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-m5ent6du8deaq5*****',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteEntryOriginResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The source instance type. Valid values:'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **TR**'."\n"
- .'* **VPN**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
- ],
- [
- 'name' => 'PrefixListId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The prefix list ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'pl-6ehtn5kqxgeyy08fi****',
- ],
- ],
- [
- 'name' => 'RouteFilter',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The filter conditions.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The filter conditions.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PrefixExactMatchCidrs',
- ],
- 'Value' => [
- 'description' => 'The filter value.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.1.0/24',
- ],
- 'required' => false,
- 'maxItems' => 500,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 10,
- ],
+ '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' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'ListTokenResult<CbnTrRouteTableAggregationModel>',
+ '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"
- .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n",
- 'type' => 'string',
- 'example' => 'fce19****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'C3835E5E-1504-4344-B1BB-98A4110F1079',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '6',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TransitRouterRouteEntries' => [
- 'description' => 'A list of route entries.'."\n",
+ 'Data' => [
+ 'description' => 'A list of aggregate routes.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the route.'."\n",
+ 'description' => 'The information about the aggregate route.',
'type' => 'object',
'properties' => [
- 'TransitRouterRouteEntryId' => [
- 'description' => 'The route ID.'."\n"
- ."\n"
- .'> This parameter is returned only for static routes.'."\n",
- 'type' => 'string',
- 'example' => 'rte-oklkgwmj97z6dn****',
- ],
- 'TransitRouterRouteEntryDestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the route entry. An IPv4 or IPv6 CIDR block is returned.'."\n",
- 'type' => 'string',
- '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.'."\n",
- 'type' => 'string',
- '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.'."\n",
- 'type' => 'string',
- 'example' => '2021-06-15T07:01Z',
- ],
- 'TransitRouterRouteEntryName' => [
- 'description' => 'The route name.'."\n"
- ."\n"
- .'> This parameter is returned only for static routes.'."\n",
- 'type' => 'string',
- 'example' => 'testname',
- ],
- 'TransitRouterRouteEntryStatus' => [
- 'description' => 'The route status. Valid values:'."\n"
- ."\n"
- .'* **Active**'."\n"
- .'* **Rejected**'."\n"
- .'* **Prohibited**'."\n"
- .'* **Standby**'."\n"
- .'* **Candidate**'."\n"
- .'* **Creating**'."\n"
- .'* **Deleting**'."\n",
- 'type' => 'string',
- '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.'."\n",
- 'type' => 'string',
- 'example' => 'BlackHole',
- ],
- 'TransitRouterRouteEntryNextHopId' => [
- 'description' => 'The next hop ID. This parameter is not returned if the route is a blackhole route.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-vx6iwhjr1x1j78****',
- ],
- 'TransitRouterRouteEntryDescription' => [
- 'description' => 'The route description.'."\n"
+ '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"
- .'> This parameter is returned only for static routes.'."\n",
- 'type' => 'string',
- 'example' => 'CidrRoute',
- ],
- 'OperationalMode' => [
- 'description' => 'Indicates whether the route can be managed. Valid values:'."\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"
- .'* **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.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'Tag' => [
- 'description' => 'The route tag.'."\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"
- .'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"
+ .'- **VBR**: The aggregate route is advertised to all VBRs that are attached to the Enterprise Edition transit router.'."\n"
."\n"
- .'> This parameter is returned only for routes whose CIDR blocks are automatically generated by the system.'."\n",
- 'type' => 'string',
- 'example' => 'PermitVbr',
- ],
- 'TransitRouterRouteEntryNextHopResourceId' => [
- 'description' => 'The next hop ID.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-m5ent6du8deaq5*****',
- ],
- 'TransitRouterRouteEntryNextHopResourceType' => [
- 'description' => 'The next hop type. Valid values:'."\n"
+ .'- **Peer**: The aggregate route is advertised to transit routers that have an inter-region connection with the Enterprise Edition transit router.'."\n"
."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **TR**'."\n"
- .'* **VPN**'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'TransitRouterRouteEntryOriginResourceType' => [
- 'description' => 'The source instance type. Valid values:'."\n"
+ .'- **VPN**: The aggregate route is advertised to all VPN connections that are attached to the Enterprise Edition transit router.'."\n"
."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **TR**'."\n"
- .'* **VPN**'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'TransitRouterRouteEntryOriginResourceId' => [
- 'description' => 'The source instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-m5ent6du8deaq5*****',
- ],
- 'PrefixListId' => [
- 'description' => 'The prefix list ID.'."\n",
- 'type' => 'string',
- 'example' => 'pl-k1ainl66z3527773d****',
- ],
- 'PathAttributes' => [
- 'description' => 'The route attributes.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Communities' => [
- 'description' => 'The route community.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The community attributes of the routes.'."\n",
- 'type' => 'string',
- 'example' => '65501:1',
- ],
- ],
- 'AsPaths' => [
- 'description' => 'The route AS path.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The AS path of the route.'."\n",
- 'type' => 'string',
- 'example' => '65501',
- ],
- ],
- 'OriginInstanceId' => [
- 'description' => 'The source instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'vbr-m5ent6du8deaq5*****'."\n",
- ],
- 'OriginInstanceType' => [
- 'description' => 'The source instance type. Valid values:'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **TR**'."\n"
- .'* **VPN**'."\n"
- .'* **CCN**'."\n",
- 'type' => 'string',
- 'example' => 'VBR',
- ],
- 'OriginRouteType' => [
- 'description' => 'The route type. Valid values:'."\n"
- ."\n"
- .'* **System**'."\n"
- .'* **Custom**'."\n"
- .'* **static**'."\n"
- .'* **BGP**'."\n"
- .'* **BlackHole**'."\n",
- 'type' => 'string',
- 'example' => 'BGP',
- ],
- 'Preference' => [
- 'description' => 'The route priority.'."\n"
- ."\n"
- .'A smaller value indicates a higher priority.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- ],
+ .'- **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' => 'IllegalParam.TransitRouterRouteTableId',
- 'errorMessage' => 'TransitRouterRouteTableId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryStatus',
- 'errorMessage' => 'TransitRouterRouteEntryStatus is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'NextToken is illegal.',
- ],
- [
- 'errorCode' => 'ParamExclusive.RouteEntryIdsAndStatus',
- 'errorMessage' => 'TransitRouterRouteEntryIds and TransitRouterRouteEntryStatus is mutually exclusive.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterRouteTableId.NotFound',
- 'errorMessage' => 'TransitRouterRouteTableId is not found.',
- ],
- [
- 'errorCode' => 'FilterKeyDuplicated.RouteFilter',
- 'errorMessage' => 'The keys in RouteFilter are duplicated.',
- ],
- [
- 'errorCode' => 'InvalidFilterKey',
- 'errorMessage' => 'The key in filter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopType',
- 'errorMessage' => 'TransitRouterRouteEntryNextHopType is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopAttachmentId',
- 'errorMessage' => 'TransitRouterRouteEntryNextHopAttachmentId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopResourceId',
- 'errorMessage' => 'TransitRouterRouteEntryNextHopResourceId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopResourceType',
- 'errorMessage' => 'TransitRouterRouteEntryNextHopResourceType is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryOriginResourceId',
- 'errorMessage' => 'TransitRouterRouteEntryOriginResourceId is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryOriginResourceType',
- 'errorMessage' => 'TransitRouterRouteEntryOriginResourceType is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteEntryType',
- 'errorMessage' => 'TransitRouterRouteEntryType is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.PrefixExactMatchCidr',
- 'errorMessage' => 'PrefixExactMatchCidr is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.LongestPrefixMatchCidr',
- 'errorMessage' => 'LongestPrefixMatchCidr is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.SubnetOfMatchCidr',
- 'errorMessage' => 'SubnetOfMatchCidr is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.SupernetOfMatchCidr',
- 'errorMessage' => 'SupernetOfMatchCidr is invalid.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TextMatchCidr',
- 'errorMessage' => 'The TextMatchCidr specified in the parameter is illegal.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.PrefixlistAssociation',
- 'errorMessage' => 'The prefix list is not associated with this route table.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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'],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterRouteEntriesResponse>\\n <NextToken>fce19****</NextToken>\\n <RequestId>C3835E5E-1504-4344-B1BB-98A4110F1079</RequestId>\\n <TotalCount>6</TotalCount>\\n <MaxResults>20</MaxResults>\\n <TransitRouterRouteEntries>\\n <TransitRouterRouteEntryId>rte-oklkgwmj97z6dn****</TransitRouterRouteEntryId>\\n <TransitRouterRouteEntryDestinationCidrBlock>192.168.0.0/24</TransitRouterRouteEntryDestinationCidrBlock>\\n <TransitRouterRouteEntryType>Static</TransitRouterRouteEntryType>\\n <CreateTime>2021-06-15T07:01Z</CreateTime>\\n <TransitRouterRouteEntryName>testname</TransitRouterRouteEntryName>\\n <TransitRouterRouteEntryStatus>Active</TransitRouterRouteEntryStatus>\\n <TransitRouterRouteEntryNextHopType>BlackHole</TransitRouterRouteEntryNextHopType>\\n <TransitRouterRouteEntryNextHopId>tr-attach-vx6iwhjr1x1j78****</TransitRouterRouteEntryNextHopId>\\n <TransitRouterRouteEntryDescription>CidrRoute</TransitRouterRouteEntryDescription>\\n <OperationalMode>false</OperationalMode>\\n <Tag>PermitVbr</Tag>\\n <TransitRouterRouteEntryNextHopResourceId>vpc-m5ent6du8deaq5*****</TransitRouterRouteEntryNextHopResourceId>\\n <TransitRouterRouteEntryNextHopResourceType>VPC</TransitRouterRouteEntryNextHopResourceType>\\n <TransitRouterRouteEntryOriginResourceType>VPC</TransitRouterRouteEntryOriginResourceType>\\n <TransitRouterRouteEntryOriginResourceId>vpc-m5ent6du8deaq5*****</TransitRouterRouteEntryOriginResourceId>\\n <PrefixListId>pl-k1ainl66z3527773d****</PrefixListId>\\n <Preference>50</Preference>\\n </TransitRouterRouteEntries>\\n</ListTransitRouterRouteEntriesResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterRouteEntries',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListTransitRouterRouteTableAssociations' => [
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTransitRouteTableAggregation'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -18149,281 +12828,163 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
+ 'abilityTreeCode' => '154265',
+ 'abilityTreeNodes' => ['FEATUREcbnIIZZGE'],
],
'parameters' => [
[
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '50',
- 'default' => '50',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n"
- .'* If a next query is to be sent, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'a415****',
- ],
- ],
- [
- 'name' => 'TransitRouterRouteTableId',
+ 'name' => 'TransitRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentResourceId',
+ 'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => 'The ID of the next hop.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
+ 'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of next hop. Valid values:'."\n"
- ."\n"
- .'* **VPC**: virtual private cloud (VPC)'."\n"
- .'* **VBR**: virtual border router (VBR)'."\n"
- .'* **TR**: transit router'."\n"
- .'* **VPN**: VPN attachment'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
- ],
- [
- 'name' => 'Status',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The status of the associated forwarding correlation. Valid values:'."\n"
- ."\n"
- .'* **Active**: The associated forwarding correlation is available.'."\n"
- .'* **Associating**: The associated forwarding correlation is being created.'."\n"
- .'* **Dissociating**: The associated forwarding correlation is being deleted.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
+ 'title' => 'ListTokenResult<CbnTrRouteTableAggregationDetailModel>',
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** was not returned, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'a415****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'F6B1D9AB-176D-4399-801D-8BC576F4EB0D',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TransitRouterAssociations' => [
- 'description' => 'A list of associated forwarding correlations.'."\n",
+ 'Data' => [
+ 'description' => 'The configuration details of the aggregate route.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the associated forwarding correlation.'."\n",
+ 'description' => 'The configuration details of the aggregate route.',
'type' => 'object',
'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
- 'Status' => [
- 'description' => 'The status of the associated forwarding correlation. Valid values:'."\n"
- ."\n"
- .'* **Active**: The associated forwarding correlation is available.'."\n"
- .'* **Associating**: The associated forwarding correlation is being created.'."\n"
- .'* **Dissociating**: The associated forwarding correlation is being deleted.'."\n"
- .'* **Deleted**: The associated forwarding correlation is deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Associating',
- ],
- 'ResourceType' => [
- 'description' => 'The type of next hop. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **TR**: transit router'."\n"
- .'* **VPN** :VPN attachment'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'ResourceId' => [
- 'description' => 'The ID of the next hop.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
- 'TransitRouterRouteTableId' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ '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.NextToken',
- 'errorMessage' => 'The parameter NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterRouteTableAssociationsResponse>\\n <RequestId>F6B1D9AB-176D-4399-801D-8BC576F4EB0D</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>50</MaxResults>\\n <TransitRouterAssociations>\\n <TransitRouterAttachmentId>tr-attach-nls9fzkfat8934****</TransitRouterAttachmentId>\\n <Status>Associating</Status>\\n <ResourceType>VPC</ResourceType>\\n <ResourceId>vpc-bp1h8vbrbcgohcju5****</ResourceId>\\n <TransitRouterRouteTableId>vtb-bp1dudbh2d5na6b50****</TransitRouterRouteTableId>\\n </TransitRouterAssociations>\\n</ListTransitRouterRouteTableAssociationsResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterRouteTableAssociations',
- 'summary' => 'Queries the associated forwarding correlations that are created for a route table of an Enterprise Edition transit router or a network instance connection.',
- 'description' => 'When you call **ListTransitRouterRouteTableAssociations**, you must set at least one of **TransitRouterRouteTableId** and **TransitRouterAttachmentId**.'."\n"
- ."\n"
- .'* If you set only **TransitRouterRouteTableId**, the network instance connections that are in associated forwarding correlation with a route table of an Enterprise Edition transit router are queried.'."\n"
- ."\n"
- .'* If you set only **TransitRouterAttachmentId**, the route table of an Enterprise Edition transit router that is in associated forwarding correlation with a network instance connection is queried.'."\n"
- ."\n"
- .'* If you set both **TransitRouterRouteTableId** and **TransitRouterAttachmentId**, the associated forwarding correlations between a specified network instance connection and a specified route table of an Enterprise Edition transit router are queried.'."\n"
- ."\n"
- .' * If an associated forwarding correlation is created between the network instance connection and the route table of the Enterprise Edition transit router, the information about the associated forwarding correlation is returned.'."\n"
- .' * If no associated forwarding correlation is created between the network instance connection and the route table of the Enterprise Edition transit router, **TransitRouterAssociations** in the response is empty.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'AssociateTransitRouterAttachmentWithRouteTable' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72369',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-7qthudw0ll6jmx****'],
],
[
- 'name' => 'TransitRouterRouteTableId',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ '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' => 'ClientToken',
+ 'name' => 'ChildInstanceType',
'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,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'ChildInstanceRegionId',
'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. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\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",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => [
@@ -18431,88 +12992,80 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'AssociationExist.TransitRouterTable',
- 'errorMessage' => 'The specified association already exists.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterTableType',
- 'errorMessage' => 'When peer attachment is associated with a custom routeTable, the Transit Router in both regions must be enterprise.',
- ],
- [
- 'errorCode' => 'OperationFailed.TransitRouterType',
- 'errorMessage' => 'Operation failed because transit router type not support this operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.AttachmentOrRouteTable',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterTableId',
- 'errorMessage' => 'The specified TransitRouterTableId is invalid.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.Associate',
- 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
- ],
- [
- 'errorCode' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
+ ['errorCode' => 'Bid.NotFound', 'errorMessage' => 'Not found Bid by specified AliUid.', 'description' => 'The error message returned because the BID does not exist.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"<AssociateTransitRouterAttachmentWithRouteTableResponse>\\n <RequestId>4EC47282-1B74-4534-BD0E-403F3EE64CAF</RequestId>\\n</AssociateTransitRouterAttachmentWithRouteTableResponse>","errorExample":""}]',
- 'title' => 'AssociateTransitRouterAttachmentWithRouteTable',
- 'summary' => 'Creates an associated forwarding correlation.',
- 'description' => 'After you create a network instance connection on a transit router, you can configure an associated forwarding correlation to associate the network instance connection with the route table of an Enterprise Edition transit router. The Enterprise Edition transit router forwards traffic for the network instance based on the routes in the route table. Before you begin, we recommend that you take note of the following rules:'."\n"
- ."\n"
- .'* Only route tables of Enterprise Edition transit routers support associated forwarding correlations. For more information about the regions and zones that support Enterprise Edition transit routers, see [What is CEN?](~~181681~~)'."\n"
- ."\n"
- .'* Each network instance connection can have an associated forwarding correlation with only one route table of only one Enterprise Edition transit router.'."\n"
- ."\n"
- .'* **AssociateTransitRouterAttachmentWithRouteTable** 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 **ListTransitRouterRouteTableAssociations** operation to query the status of an associated forwarding correlation.'."\n"
- ."\n"
- .' * If an associated forwarding correlation is in the **Associating** state, the associated forwarding correlation is being created. You can query the associated forwarding correlation but cannot perform other operations.'."\n"
- .' * If an associated forwarding correlation is in the **Active** state, the associated forwarding correlation is created.'."\n",
+ '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' => ' ',
- ],
- 'ReplaceTransitRouterRouteTableAssociation' => [
- 'summary' => 'Associates a network instance connection with another route table of a transit router.',
- 'methods' => [
- 'get',
- 'post',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -18520,128 +13073,83 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'docRequired' => true, 'required' => true, 'type' => 'string', 'title' => '', 'example' => 'cen-sjfoejfghhjgghjghkg****'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'VbrInstanceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether only to precheck the API request. Valid values:'."\n"
- ."\n"
- .'* **true**: prechecks the request but does not associate the network instance connection with another route table. The system checks whether the required parameters are set, whether the formats of the values are valid, and the service limits. If the request fails to pass the precheck, the corresponding error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n"
- .'* **false**: sends the request. After the request passes the authentication, the network instance connection is associated with the specified route table. This is the default value.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'VbrInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-attach-071g5j5tefg4x6****',
- ],
+ 'schema' => ['description' => 'The ID of the VBR.', 'docRequired' => true, 'required' => true, 'type' => 'string', 'title' => '', 'example' => 'vbr-wz95o9aylj181n5****'],
],
[
- 'name' => 'TransitRouterRouteTableId',
+ 'name' => 'VbrInstanceOwnerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table with which you want to associate the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vtb-bp1cprmc6xmzjd66i****',
- ],
+ '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' => [
- 'description' => 'The returned result.'."\n",
- 'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '160BD7D3-3D1E-5702-9AF0-56E4B15FCB65',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A'],
],
+ 'type' => 'object',
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- [
- 'errorCode' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitAttachment',
- 'errorMessage' => 'The specified TransitAttachment does not support the operation.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterTableType',
- 'errorMessage' => 'TransitRouterTableType is illegal. ',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Status',
- 'errorMessage' => 'The TransitRouterRouteTable or TransitRouterAttachment Status is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterRouteTableId',
- 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterAttachmentId',
- 'errorMessage' => 'The specified parameter TransitRouterAttachmentId 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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"160BD7D3-3D1E-5702-9AF0-56E4B15FCB65\\"\\n}","errorExample":""},{"type":"xml","example":"<ReplaceTransitRouterRouteTableAssociationResponse>\\n <RequestId>160BD7D3-3D1E-5702-9AF0-56E4B15FCB65</RequestId>\\n</ReplaceTransitRouterRouteTableAssociationResponse>","errorExample":""}]',
- 'title' => 'ReplaceTransitRouterRouteTableAssociation',
- ],
- 'DissociateTransitRouterAttachmentFromRouteTable' => [
- 'summary' => 'Deletes an associated forwarding correlation.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -18649,60 +13157,34 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ '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 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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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 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"
- .'* **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,
- 'example' => 'false',
- ],
+ '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' => [
@@ -18710,81 +13192,68 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'A7C43F99-B1E5-4A53-AB64-4BAE8AF4484E'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IncorrectStatus.AttachmentOrRouteTable',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.dissociateRouteTable',
- 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterConnectPeer',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterAttachmentId',
- 'errorMessage' => 'The specified parameter TransitRouterAttachmentId is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterRouteTableId',
- 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.',
- ],
+ ['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' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- [
- 'errorCode' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
- ],
+ ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"<DissociateTransitRouterAttachmentFromRouteTableResponse>\\n <RequestId>4EC47282-1B74-4534-BD0E-403F3EE64CAF</RequestId>\\n</DissociateTransitRouterAttachmentFromRouteTableResponse>","errorExample":""}]',
- 'title' => 'DissociateTransitRouterAttachmentFromRouteTable',
- 'description' => '**DissociateTransitRouterAttachmentFromRouteTable** 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 **ListTransitRouterRouteTableAssociations** operation to query an associated forwarding correlation between a network instance connection and a route table.'."\n"
+ '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 an associated forwarding correlation is in the **Dissociating** state, the associated forwarding correlation is being deleted. You can query the associated forwarding correlation but cannot perform other operations.'."\n"
- .'* If an associated forwarding correlation cannot be found, the associated forwarding correlation is deleted.'."\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' => ' ',
- ],
- 'EnableTransitRouterRouteTablePropagation' => [
- 'summary' => 'Creates a route learning correlation.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -18793,145 +13262,125 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '129159',
+ 'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-nls9fzkfat8934****',
- ],
+ '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' => 'TransitRouterRouteTableId',
+ 'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ 'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'TransitRouterAttachmentId',
'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-130e-11e9-8e44-001****',
- ],
+ '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' => 'Specifies whether to perform only a dry run, without performing the actual request. Default values:'."\n"
+ 'description' => 'The list of vSwitch IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the vSwitch.'."\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.'."\n",
- 'type' => 'boolean',
+ .'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,
- 'example' => 'false',
+ 'docRequired' => true,
+ 'maxItems' => 1000,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '59CF8BF9-DE61-421E-B903-D56AF46A303C',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6F6B3FF0-45D1-5416-B189-C45A42A0222B', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.TransitRouterTableId',
- 'errorMessage' => 'The specified TransitRouterTableId is invalid.',
- ],
- [
- 'errorCode' => 'OperationFailed.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.AttachmentOrRouteTable',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.EnablePropagation',
- 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterRouteTableId',
- 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterAttachmentId',
- 'errorMessage' => 'The specified parameter TransitRouterAttachmentId is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
- ],
- [
- 'errorCode' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"59CF8BF9-DE61-421E-B903-D56AF46A303C\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableTransitRouterRouteTablePropagationResponse>\\n <RequestId>59CF8BF9-DE61-421E-B903-D56AF46A303C</RequestId>\\n</EnableTransitRouterRouteTablePropagationResponse>","errorExample":""}]',
- 'title' => 'EnableTransitRouterRouteTablePropagation',
- '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"
+ ['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"
- .'* 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"
+ .'- If you provide invalid parameters, the system returns a request ID but does not dissociate the vSwitch from the multicast domain.'."\n"
."\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"
+ .'- **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"
- .' * **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.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DisableTransitRouterRouteTablePropagation' => [
- 'summary' => 'Deletes a route learning correlation.',
- 'methods' => [
- 'post',
- 'get',
+ .' - 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -18939,60 +13388,35 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-vx6iwhjr1x1j78****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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 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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => [
@@ -19000,282 +13424,226 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'A7C43F99-B1E5-4A53-AB64-4BAE8AF4484E',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.AttachmentOrRouteTable',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.DisablePropagation',
- 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterRouteTableId',
- 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouterAttachmentId',
- 'errorMessage' => 'The specified parameter TransitRouterAttachmentId is invalid.',
- ],
+ ['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' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
- ],
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A7C43F99-B1E5-4A53-AB64-4BAE8AF4484E\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableTransitRouterRouteTablePropagationResponse>\\n <RequestId>A7C43F99-B1E5-4A53-AB64-4BAE8AF4484E</RequestId>\\n</DisableTransitRouterRouteTablePropagationResponse>","errorExample":""}]',
- 'title' => 'DisableTransitRouterRouteTablePropagation',
- '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"
+ '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 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.'."\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' => ' ',
- ],
- 'ListTransitRouterRouteTablePropagations' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'MaxResults',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '50',
- 'default' => '50',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-hahhfskfkseig****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'VbrInstanceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dd20****',
- ],
+ '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' => 'TransitRouterRouteTableId',
+ 'name' => 'VbrInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
+ 'schema' => ['description' => 'The ID of the VBR instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-wz95o9aylj181n5mzk****', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'HealthCheckSourceIp',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'tr-attach-vx6iwhjr1x1j78****',
- ],
+ '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' => 'TransitRouterAttachmentResourceId',
+ 'name' => 'HealthCheckTargetIp',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
+ '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' => 'TransitRouterAttachmentResourceType',
+ 'name' => 'VbrInstanceOwnerId',
'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"
- .'* **TR**: transit router'."\n"
- .'* **VPN**: VPN connection',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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' => 'Status',
+ 'name' => 'HealthCheckInterval',
'in' => 'query',
- 'schema' => [
- 'description' => 'The status of the route learning correlation. Valid values:'."\n"
- ."\n"
- .'* **Active**: available'."\n"
- .'* **Enabling**: being enabled'."\n"
- .'* **Disabling**: being disabled'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
+ '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' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the query.'."\n",
- 'type' => 'string',
- 'example' => 'dd20****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04C81E0D-945E-4D61-A561-3DEA322F243B',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TransitRouterPropagations' => [
- 'description' => 'A list of route learning correlations.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-vx6iwhjr1x1j78****',
- ],
- 'Status' => [
- 'description' => 'The status of the route learning correlation. Valid values:'."\n"
- ."\n"
- .'* **Enabling**: being enabled'."\n"
- .'* **Disabling**: being disabled'."\n"
- .'* **Active**: available',
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'ResourceType' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**: VPC'."\n"
- .'* **VBR**: VBR'."\n"
- .'* **TR**: transit router'."\n"
- .'* **VPN**: VPN connection',
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'ResourceId' => [
- 'description' => 'The ID of the network instance.',
- 'type' => 'string',
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
- 'TransitRouterRouteTableId' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-bp1dudbh2d5na6b50****',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1F59F19C-EFD2-40B1-94D5-65B40CA8E34A', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The parameter NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterRouteTablePropagationsResponse> \\n<TotalCount>2</TotalCount>\\n<RequestId>04C81E0D-945E-4D61-A561-3DEA322F243B</RequestId>\\n<MaxResults>50</MaxResults>\\n<TransitRouterPropagations>\\n <Status>Active</Status>\\n <TransitRouterAttachmentId>tr-attach-nls9fzkfat8934****</TransitRouterAttachmentId>\\n <TransitRouterRouteTableId>vtb-bp1dudbh2d5na6b50****</TransitRouterRouteTableId>\\n <ResourceId>vpc-bp1h8vbrbcgohcju5****</ResourceId>\\n <ResourceType>VPC</ResourceType>\\n</TransitRouterPropagations>\\n<TransitRouterPropagations>\\n <Status>Active</Status>\\n <TransitRouterAttachmentId>tr-attach-vx6iwhjr1x1j78****</TransitRouterAttachmentId>\\n <TransitRouterRouteTableId>vtb-bp1dudbh2d5na6b50****</TransitRouterRouteTableId>\\n <ResourceId>vpc-bp1kbjcre9vtsebo1****</ResourceId>\\n <ResourceType>VPC</ResourceType>\\n</TransitRouterPropagations>\\n</ListTransitRouterRouteTablePropagationsResponse> ","errorExample":""}]',
- 'title' => 'ListTransitRouterRouteTablePropagations',
- 'summary' => 'Queries the route learning correlations of an Enterprise Edition transit router.',
+ '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' => ' ',
- ],
- 'CreateCenRouteMap' => [
- 'summary' => 'Creates a routing policy. A routing policy filters routing information and facilitates network management.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -19283,1691 +13651,1335 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72302',
- 'abilityTreeNodes' => [
- 'FEATUREcbnL0VP69',
- 'FEATUREcbnCEHNQQ',
- 'FEATUREcbnK70KRY',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-attach-nls9fzkfat8934****'],
],
[
- 'name' => 'CenRegionId',
+ 'name' => 'TransitRouterRouteTableId',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'TransmitDirection',
+ 'name' => 'ClientToken',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'RegionIn',
- 'enum' => [
- 'RegionIn',
- 'RegionOut',
- ],
- ],
+ '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' => 'Description',
+ 'name' => 'DryRun',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ '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'],
],
- [
- 'name' => 'Priority',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '2999',
- 'minimum' => '1',
- 'example' => '3',
+ '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' => [
[
- '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"
- .'* **Deny**: the route is denied.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Permit',
- 'enum' => [
- 'Permit',
- 'Deny',
+ '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' => [
[
- 'name' => 'NextPriority',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72444',
+ 'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CenId',
'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"
- .'* The region and direction of the routing policy to be associated must be the same as those of the current routing policy.'."\n"
- .'* The priority of the next routing policy must be lower than the priority of the current routing policy.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => false,
- 'maximum' => '1000',
- 'minimum' => '1',
- 'example' => '20',
- ],
+ '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' => 'CidrMatchMode',
+ 'name' => 'InstanceId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Include ',
- 'enum' => [
- 'Include',
- 'Complete',
- ],
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
- 'name' => 'AsPathMatchMode',
+ 'name' => 'InstanceType',
'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"
- .'* **Complete**: exact match. A route is a match only if the AS path of the route matches the AS path in the match conditions.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Include',
- 'enum' => [
- 'Include',
- 'Complete',
- ],
- ],
+ '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' => 'CommunityMatchMode',
+ 'name' => 'RegionId',
'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"
- .'* **Complete**: exact match. A route is a match only if the community of the route matches the community in the match conditions.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Include',
- 'enum' => [
- 'Include',
- 'Complete',
- 'Contain',
- ],
- ],
+ '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' => 'CommunityOperateMode',
+ 'name' => 'CenOwnerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The action to be performed on the community. Valid values:'."\n"
- ."\n"
- .'* **Additive**: adds the community to the route.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Additive',
- 'enum' => [
- 'Additive',
- 'Replace',
- ],
- ],
+ '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' => 'Preference',
+ 'name' => 'OrderType',
'in' => 'query',
'schema' => [
- 'description' => 'The new priority of the route.'."\n"
+ 'description' => 'The entity that pays the fees of the network instance. Valid values:'."\n"
."\n"
- .'Valid values: **1** to **100**. The default priority is **50**. A smaller value indicates a higher priority.'."\n"
+ .'- **PayByCenOwner**: the Alibaba Cloud account that owns the CEN instance.'."\n"
."\n"
- .'This parameter specifies the action to be performed when a route meets the match condition.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ .'- **PayByResourceOwner**: the Alibaba Cloud account that owns the network instance.',
+ 'type' => 'string',
+ 'default' => 'PayByCenOwner',
+ 'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
'required' => false,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '50',
+ 'example' => 'PayByCenOwner',
+ 'title' => '',
],
],
- [
- 'name' => 'SourceInstanceIdsReverseMatch',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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"
- .'* **true**: A route is a match if the source network instance ID is not in the list specified by **SourceInstanceIds.N**.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ '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' => [
[
- '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"
- .'* **true**: A route is a match if the destination network instance ID is not in the list specified by **SourceInstanceIds.N**.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ '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' => [
[
- 'name' => 'MatchAddressType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of IP address in the match condition. Valid values:'."\n"
- ."\n"
- .'* **IPv4**: IPv4 address'."\n"
- .'* **IPv6**: IPv6 address'."\n"
- ."\n"
- .'This parameter can be empty. If no value is specified, all types of IP address are a match.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'IPv4',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
[
- 'name' => 'TransitRouterRouteTableId',
+ 'name' => 'MaxResults',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-gw8nx3515m1mbd1z1****',
- ],
+ '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' => 'SourceInstanceIds',
+ 'name' => 'NextToken',
'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"
- .'* Virtual border router (VBR)'."\n"
- .'* Cloud Connect Network (CCN) instance'."\n"
- .'* Smart Access Gateway (SAG) instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 IDs.'."\n",
- '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"
- .'* VBR'."\n"
- .'* CCN instance'."\n"
- .'* SAG instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-adeg3544fdf34vf****',
- ],
- 'required' => false,
- 'example' => 'vpc-adeg3544fdf34vf****',
- 'maxItems' => 32,
- ],
+ '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' => 'DestinationInstanceIds',
+ 'name' => 'CenId',
'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"
- .'* VBR'."\n"
- .'* CCN instance'."\n"
- .'* SAG instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 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"
- .'* VBR'."\n"
- .'* CCN instance'."\n"
- .'* SAG instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-afrfs434465fdf****',
- ],
- 'required' => false,
- 'example' => 'vpc-afrfs434465fdf****',
- 'maxItems' => 32,
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-dc4vwznpwbobrl****', 'title' => ''],
],
[
- 'name' => 'SourceRouteTableIds',
+ 'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of the source route tables from which routes are evaluated. You can enter at most 32 route table IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the source route tables from which routes are evaluated. You can enter at most 32 route table IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-adfr233vf34rvd4****',
- ],
- 'required' => false,
- 'example' => 'vtb-adfr233vf34rvd4****',
- 'maxItems' => 32,
- ],
+ 'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'vtb-bp174d1gje79u1g4t****', 'title' => ''],
],
[
- 'name' => 'DestinationRouteTableIds',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of the destination route tables to which routes are evaluated. You can enter at most 32 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.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the destination route tables to which routes are evaluated. You can enter at most 32 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-adefrgtr144vf****',
- ],
- 'required' => false,
- 'example' => 'vtb-adefrgtr144vf****',
- 'maxItems' => 32,
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
- 'name' => 'SourceRegionIds',
+ 'name' => 'RouteFilter',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of the source regions from which routes are evaluated. You can enter at most 32 region IDs.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
+ 'description' => 'The filter for the destination CIDR block.',
'type' => 'array',
'items' => [
- 'description' => 'The IDs of the source regions from which routes are evaluated. You can enter at most 32 region IDs.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
+ '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,
- 'example' => 'cn-beijing',
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
- 'example' => 'cn-beijing',
- 'maxItems' => 32,
+ 'maxItems' => 5,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'SourceChildInstanceTypes',
+ 'name' => 'ServiceType',
'in' => 'query',
- 'style' => 'repeatList',
+ '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 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"
- .' * 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"
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => ['description' => 'The token that is used for the next query.'."\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"
- .' * This parameter takes effect if the IPsec connection is directly connected to a transit router.'."\n"
+ .'- If **NextToken** is empty, no subsequent query is sent.'."\n"
."\n"
- .'You can specify one or more network instance types.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
+ .'- 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' => '',
+ ],
],
- 'required' => false,
- 'example' => 'VPC',
- 'maxItems' => 32,
+ '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' => [
[
- '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',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cen:ListCenChildInstanceRouteEntriesToAttachment',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
- 'required' => false,
- 'example' => 'VPC',
- 'maxItems' => 32,
],
],
+ ],
+ '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' => [
[
- 'name' => 'DestinationCidrBlocks',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72383',
+ 'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TransitRouterId',
'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 32 CIDR blocks.'."\n"
- ."\n"
- .'IPv4 and IPv4 addresses are supported.'."\n",
- '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 32 CIDR blocks.'."\n"
- ."\n"
- .'IPv4 and IPv4 addresses are supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.10.10.0/24',
- ],
- 'required' => false,
- 'example' => '10.10.10.0/24',
- 'maxItems' => 32,
- ],
+ 'schema' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
- 'name' => 'RouteTypes',
+ 'name' => 'TransitRouterAttachmentId',
'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"
- .'* **Custom**: custom routes that are manually added.'."\n"
- .'* **BGP**: routes that are advertised over BGP.'."\n"
- ."\n"
- .'You can specify multiple route types.'."\n",
- '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"
- .'* **Custom**: custom routes that are manually added.'."\n"
- .'* **BGP**: routes that are advertised over BGP.'."\n"
- ."\n"
- .'You can specify multiple route types.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'System',
- ],
- 'required' => false,
- 'example' => 'System',
- 'maxItems' => 32,
- ],
+ 'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
- 'name' => 'MatchAsns',
+ 'name' => 'TrafficQosPolicyId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The AS paths based on which routes are compared.'."\n"
- ."\n"
- .'You can specify at most 32 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.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The AS paths based on which routes are compared.'."\n"
- ."\n"
- .'You can specify at most 32 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.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '65501',
- ],
- 'required' => false,
- 'example' => '65501',
- 'maxItems' => 32,
- ],
+ 'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => false, 'example' => 'qos-rnghap5gc8155x****', 'title' => ''],
],
[
- 'name' => 'MatchCommunitySet',
+ 'name' => 'TrafficQosPolicyName',
'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 32 communities.'."\n"
- ."\n"
- .'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.'."\n",
- '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 32 communities.'."\n"
- ."\n"
- .'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '65501:1',
- ],
- 'required' => false,
- 'example' => '65501:1',
- 'maxItems' => 32,
- ],
+ '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' => 'OperateCommunitySet',
+ 'name' => 'TrafficQosPolicyDescription',
'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.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '65501:1',
- ],
- 'required' => false,
- 'example' => '65501:1',
- 'maxItems' => 32,
- ],
+ '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' => 'PrependAsPath',
+ 'name' => 'MaxResults',
'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"
- .'* 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.'."\n",
- '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"
- .'* 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.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '65501',
- ],
- 'required' => false,
- 'example' => '65501',
- 'maxItems' => 32,
- ],
+ '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' => 'DestinationRegionIds',
+ 'name' => 'NextToken',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The destination region IDs of the route. You can specify at most 32 region IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The destination region IDs of the route. You can specify at most 32 region IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
- 'required' => false,
- 'maxItems' => 32,
- ],
+ '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 returned result.'."\n",
+ 'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
- 'RouteMapId' => [
- 'description' => 'The ID of the routing policy.'."\n",
- 'type' => 'string',
- 'example' => 'cenrmap-w4yf7toozfol3q****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '62172DD5-6BAC-45DF-8D44-56SDF467BAC',
+ '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' => 'Forbidden.CenRouteMapExist',
- 'errorMessage' => 'The specified CEN route map ID already exists.',
- ],
- [
- 'errorCode' => 'Invid.Parameter',
- 'errorMessage' => 'When using PrependAsPath in the RegionIn, SourceRegionId must be local region Id.',
- ],
- [
- 'errorCode' => 'InvalidOperation.NoEffictiveAction',
- 'errorMessage' => 'No effective action be configured.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.ZoneId',
- 'errorMessage' => 'The specified ZoneId is illegal.',
- ],
- [
- 'errorCode' => 'Forbidden.NoMedAuthorized',
- 'errorMessage' => 'Med operation is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MedRouteMapExist',
- 'errorMessage' => 'Operation is invalid because the default med route map already exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MedRouteMapNotAllowedOtherAction',
- 'errorMessage' => 'Operation is invalid because the default med not allowed other action.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MedRouteMapActionMustPermit',
- 'errorMessage' => 'Operation is invalid because the default med map result must be permit.',
- ],
- [
- 'errorCode' => 'InvalidParameter.MedRouteMapDestInstanceIds',
- 'errorMessage' => 'Param DestInstanceIds must be ecr instance id.',
- ],
- [
- 'errorCode' => 'InvalidParameter.MedRouteMapDestInstanceType',
- 'errorMessage' => 'Param DestChildInstanceTypes must be ecr.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeCenRouteMaps',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RouteMapId\\": \\"cenrmap-w4yf7toozfol3q****\\",\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44-56SDF467BAC\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCenRouteMapResponse>\\n <RouteMapId>cenrmap-w4yf7toozfol3q****</RouteMapId>\\n <RequestId>62172DD5-6BAC-45DF-8D44-56SDF467BAC</RequestId>\\n</CreateCenRouteMapResponse>","errorExample":""}]',
- '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"
+ '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"
- .'`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"
+ .'- You must specify at least one of the **TransitRouterId** and **TrafficQosPolicyId** parameters.'."\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"
- .'* If a routing policy is in the **Active** state, the routing policy is created.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DeleteCenRouteMap' => [
- 'summary' => 'Deletes a routing policy.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72322',
- 'abilityTreeNodes' => [
- 'FEATUREcbnL0VP69',
- 'FEATUREcbnCEHNQQ',
- 'FEATUREcbnK70KRY',
- ],
+ 'abilityTreeCode' => '160569',
+ 'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jm****',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
- 'name' => 'CenRegionId',
+ 'name' => 'TransitRouterAttachmentId',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-a6p8voaodog5c0****', 'title' => ''],
],
[
- 'name' => 'RouteMapId',
+ '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' => 'The ID of the routing policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenrmap-abcdedfghij****',
+ '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' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03',
+ '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' => 'IncorrectStatus.RouteMap',
- 'errorMessage' => 'Operation Failed. The specified route map is configuring, please try again later.',
- ],
- [
- 'errorCode' => 'InvalidOperation.TransitRouterNotExist',
- 'errorMessage' => 'Operation is invalid because the transit router not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterStatus',
- 'errorMessage' => 'The specified TransitRouterStatus does not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeCenRouteMaps',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5903EE99-D542-4E14-BC65-AAC1CB2D3D03\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCenRouteMapResponse>\\n <RequestId>5903EE99-D542-4E14-BC65-AAC1CB2D3D03</RequestId>\\n</DeleteCenRouteMapResponse>","errorExample":""}]',
- 'title' => 'DeleteCenRouteMap',
- 'description' => '`DeleteCenRouteMap` 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"
+ '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"
- .'* If a routing policy is in the **Deleting** state, the routing policy is being deleted. You can query the routing policy but cannot perform other operations.'."\n"
- .'* If a routing policy cannot be found, it is deleted.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ModifyCenRouteMap' => [
- 'summary' => 'Modifies a routing policy of a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
+ .'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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72411',
- 'abilityTreeNodes' => [
- 'FEATUREcbnL0VP69',
- 'FEATUREcbnCEHNQQ',
- 'FEATUREcbnK70KRY',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance to which the VPC is connected.', 'type' => 'string', 'required' => true, 'example' => 'cen-a7syd349kne38g****', 'title' => ''],
],
[
- 'name' => 'CenRegionId',
+ 'name' => 'VpcId',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => true, 'example' => 'vpc-p0w9alkte4w2htrqe****', 'title' => ''],
],
[
- 'name' => 'RouteMapId',
+ 'name' => 'VSwitchId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the routing policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cenrmap-abcdedfghij****',
- ],
+ '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' => 'Description',
+ 'name' => 'NextToken',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ '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' => 'MapResult',
+ 'name' => 'MaxResults',
'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"
- .'* **Deny**: the route is denied.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Permit',
- 'enum' => [
- 'Permit',
- 'Deny',
- ],
- ],
+ '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' => 'NextPriority',
+ 'name' => 'NetworkInterfaceId',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The priority of the routing policy that you want to associate with the current one.'."\n"
+ 'description' => 'The ID of the ENI.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the ENI.'."\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"
- .'* The region and direction of the routing policy to be associated must be the same as those of the current routing policy.'."\n"
- .'* The priority of the routing policy to be associated must be lower than the priority of the current routing policy.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ .'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,
- 'docRequired' => false,
- 'maximum' => '1000',
- 'minimum' => '1',
- 'example' => '20',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'CidrMatchMode',
+ 'name' => 'NetworkInterfaceName',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Include ',
- 'enum' => [
- 'Include',
- 'Complete',
- ],
- ],
+ 'schema' => ['description' => 'The name of the ENI.', 'type' => 'string', 'required' => false, 'example' => 'test-eni-name', 'title' => ''],
],
[
- 'name' => 'AsPathMatchMode',
+ 'name' => 'PrimaryIpAddress',
'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"
- .'* **Complete**: exact match. A route is a match only if the AS path of the route matches the AS path in the match conditions.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Include',
- 'enum' => [
- 'Include',
- 'Complete',
- ],
- ],
+ 'schema' => ['description' => 'The primary private IPv4 address of the ENI.', 'type' => 'string', 'required' => false, 'example' => '192.168.**.**', 'title' => ''],
],
- [
- 'name' => 'CommunityMatchMode',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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"
- .'* **Complete**: exact match. A route is a match only if the community of the route matches the community in the match conditions.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Include',
- 'enum' => [
- 'Include',
- 'Complete',
- 'Contain',
+ '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"
+ .'><notice>'."\n"
+ ."\n"
+ .'This parameter is invalid if you use MaxResults and NextToken to perform a paged query.'."\n"
+ ."\n"
+ .'></notice>', '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' => [
[
- '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"
- .'* **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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Additive',
- 'enum' => [
- 'Additive',
- 'Replace',
+ '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' => [
[
- '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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '22',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72385',
+ 'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
+ ],
+ 'parameters' => [
[
- 'name' => 'Priority',
+ 'name' => 'RegionId',
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '1000',
- 'minimum' => '1',
- 'example' => '10',
- ],
+ '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' => 'SourceInstanceIdsReverseMatch',
+ 'name' => 'CenId',
'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"
- .'* **true**: A route is a match if the source network instance ID is not in the list specified by **SourceInstanceIds.N**.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-44m0p68spvlrqq****', 'title' => ''],
],
[
- 'name' => 'DestinationInstanceIdsReverseMatch',
+ 'name' => 'VpcId',
'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"
- .'* **true**: A route is a match if the destination network instance ID is not in the list specified by **SourceInstanceIds.N**.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp12ge2tq5gzdc915****', 'title' => ''],
],
[
- 'name' => 'MatchAddressType',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of IP address in the match condition. Valid values:'."\n"
- ."\n"
- .'* **IPv4**: IPv4 address'."\n"
- .'* **IPv6**: IPv6 address'."\n"
- ."\n"
- .'This parameter can be empty. If no value is specified, all types of IP address are a match.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'IPv4',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'SourceInstanceIds',
+ 'name' => 'PageSize',
'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"
- .'* Virtual border router (VBR)'."\n"
- .'* Cloud Connect Network (CCN) instance'."\n"
- .'* Smart Access Gateway (SAG) instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 IDs.'."\n",
- '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"
- .'* VBR'."\n"
- .'* CCN instance'."\n"
- .'* SAG instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-afsfdf5435vcvc****',
- ],
- 'required' => false,
- 'example' => 'vpc-afsfdf5435vcvc****',
- 'maxItems' => 32,
- ],
+ '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' => 'DestinationInstanceIds',
+ 'name' => 'ZoneId',
'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"
- .'* VBR'."\n"
- .'* CCN instance'."\n"
- .'* SAG instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 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.'."\n",
- '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"
- .'* VBR'."\n"
- .'* CCN instance'."\n"
- .'* SAG instance'."\n"
- .'* The ID of the IPsec-VPN connection.'."\n"
- ."\n"
- .'You can enter at most 32 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-avcdsg34ds****',
- ],
- 'required' => false,
- 'example' => 'vpc-avcdsg34ds****',
- 'maxItems' => 32,
- ],
+ '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' => 'SourceRouteTableIds',
+ 'name' => 'EnabledIpv6',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of the source route tables to which the routes belong. You can enter at most 32 route table IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the source route tables to which the routes belong. You can enter at most 32 route table IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-acdbvtbr342cd****',
- ],
- 'required' => false,
- 'example' => 'vtb-acdbvtbr342cd****',
- 'maxItems' => 32,
- ],
+ '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' => ''],
],
- [
- 'name' => 'DestinationRouteTableIds',
- 'in' => 'query',
- 'style' => 'repeatList',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The IDs of the destination route tables to which the routes belong. You can enter at most 32 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.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the destination route tables to which the routes belong. You can enter at most 32 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-adfg53c322v****',
+ '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' => '',
+ ],
],
- 'required' => false,
- 'example' => 'vtb-adfg53c322v****',
- 'maxItems' => 32,
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'SourceRegionIds',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of the source regions to which the routes belong. You can enter at most 32 region IDs.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the source regions to which the routes belong. You can enter at most 32 region IDs.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
- 'required' => false,
- 'example' => 'cn-beijing',
- 'maxItems' => 32,
- ],
+ ],
+ '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.'],
],
- [
- '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"
- .' * 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"
- .' * This parameter takes effect if the IPsec connection is directly connected to a transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
- 'required' => false,
- 'example' => 'VPC',
- 'maxItems' => 32,
- ],
+ ],
+ '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' => [
[
- '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',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cen:ListGrantVSwitchesToCen',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- 'required' => false,
- 'example' => 'VPC',
- 'maxItems' => 32,
],
],
+ ],
+ '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' => [
[
- '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 32 CIDR blocks.'."\n",
- '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 32 CIDR blocks.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.10.10.0/24',
- ],
- 'required' => false,
- 'example' => '10.10.10.0/24',
- 'maxItems' => 32,
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'RouteTypes',
+ 'name' => 'ResourceType',
'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"
- .'* **Custom**: custom routes that are manually added.'."\n"
- .'* **BGP**: routes that are advertised over BGP.'."\n",
- '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"
- .'* **Custom**: custom routes that are manually added.'."\n"
- .'* **BGP**: routes that are advertised over BGP.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'System',
- ],
- 'required' => false,
- 'example' => 'System',
- 'maxItems' => 32,
- ],
+ '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' => 'MatchAsns',
+ 'name' => 'NextToken',
'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.'."\n",
- '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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '65501',
- ],
- 'required' => false,
- 'example' => '65501',
- 'maxItems' => 32,
- ],
+ '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' => 'MatchCommunitySet',
+ 'name' => 'PageSize',
'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 32 communities.'."\n"
- ."\n"
- .'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.'."\n",
- '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 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',
- ],
- 'required' => false,
- 'example' => '65501:1',
- 'maxItems' => 32,
- ],
+ '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' => 'OperateCommunitySet',
+ 'name' => 'ResourceId',
'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"
+ 'description' => 'The ID of the CEN instance.'."\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.'."\n",
+ .'You can enter a maximum of 20 CEN instance IDs.',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '65501:1',
- ],
+ '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' => '65501:1',
- 'maxItems' => 32,
+ 'example' => 'cen-8z69wtwqel33lq****',
+ 'maxItems' => 21,
+ 'title' => '',
],
],
[
- 'name' => 'PrependAsPath',
+ 'name' => 'Tag',
'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"
- .'* 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"
+ 'description' => 'The tags of the CEN instance.'."\n"
."\n"
- .'This parameter specifies the action to be performed when a route meets the match condition.'."\n",
+ .'You can query a maximum of 20 tags.',
'type' => 'array',
'items' => [
- 'description' => 'The AS paths that are prepended by using an action statement when regional gateways receive or advertise routes.'."\n"
+ 'description' => 'The tags of the CEN instance.'."\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"
- .'* 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.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
+ .'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,
- 'example' => '65501',
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
- 'example' => '65501',
- 'maxItems' => 32,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DestinationRegionIds',
+ 'name' => 'RegionId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The destination region IDs of the route. You can specify at most 32 region IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The destination region IDs of the route. You can specify at most 32 region IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
- 'required' => false,
- 'maxItems' => 32,
- ],
+ '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.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457 ',
+ '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' => 'InvalidOperation.NoEffictiveAction',
- 'errorMessage' => 'No effective action be configured.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CenRouteMapExist',
- 'errorMessage' => 'Operation is invalid because an route map config exist.',
- ],
- [
- 'errorCode' => 'Invid.Parameter',
- 'errorMessage' => 'When using GatewayRegionId, SourceRegionId must not be null',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParam.DestinationInstanceIds',
- 'errorMessage' => 'When using "PrependAsPath" in the "RegionOut", "DestinationInstanceIds" must be local region instances.',
- ],
- [
- 'errorCode' => 'Forbidden.NoMedAuthorized',
- 'errorMessage' => 'Med operation is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MedRouteMapExist',
- 'errorMessage' => 'Operation is invalid because the default med route map already exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MedRouteMapNotAllowedOtherAction',
- 'errorMessage' => 'Operation is invalid because the default med not allowed other action.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MedRouteMapActionMustPermit',
- 'errorMessage' => 'Operation is invalid because the default med map result must be permit.',
- ],
- [
- 'errorCode' => 'InvalidParameter.MedRouteMapDestInstanceIds',
- 'errorMessage' => 'Param DestInstanceIds must be ecr instance id.',
- ],
- [
- 'errorCode' => 'InvalidParameter.MedRouteMapDestInstanceType',
- 'errorMessage' => 'Param DestChildInstanceTypes must be ecr.',
- ],
- [
- 'errorCode' => 'InvalidOperation.PrependAsPathWithInvalidSourceRegionId',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'InvalidOperation.TransitRouterNotExist',
- 'errorMessage' => 'Operation is invalid because the transit router not exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.RouteMapId',
- 'errorMessage' => 'The specified parameter RouteMapId is invalid.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeCenRouteMaps',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyCenRouteMapResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B457\\t</RequestId>\\n</ModifyCenRouteMapResponse>","errorExample":""}]',
- '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"
+ '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"
- .'* **Modifying**: indicates that the system is modifying the routing policy. You can only query the routing policy, but cannot perform other operations.'."\n"
- .'* **Active**: indicates that the routing policy is modified.'."\n",
+ .' - If you specify multiple tag keys, the relationship between the tag keys is **AND**.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeCenRouteMaps' => [
- 'summary' => 'Queries routing policies.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2022-11-21T11:54:25.000Z', 'description' => 'Error codes changed, Request parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -20976,1316 +14988,975 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72356',
- 'abilityTreeNodes' => [
- 'FEATUREcbnL0VP69',
- 'FEATUREcbnCEHNQQ',
- 'FEATUREcbnK70KRY',
- ],
+ 'abilityTreeCode' => '72388',
+ 'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
],
'parameters' => [
[
- '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',
- ],
- ],
- [
- 'name' => 'PageSize',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
- 'name' => 'CenId',
+ 'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-wx12mmlt17ld82****',
- ],
+ 'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => false, 'example' => 'tm-iz5egnyitxiroq****', 'title' => ''],
],
[
- 'name' => 'RouteMapId',
+ 'name' => 'TrafficMarkingPolicyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The routing policy ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cenrmap-y40mxdvf7joc12****',
- ],
+ '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' => 'CenRegionId',
+ 'name' => 'TrafficMarkingPolicyDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the routing policy.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'TransmitDirection',
+ 'name' => 'MaxResults',
'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 current region, or to gateways deployed in other regions.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'RegionOut',
- ],
+ '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' => 'TransitRouterRouteTableId',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The route table ID of the transit router with which the routing policy is associated.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vtb-gw8nx3515m1mbd1z1****',
- ],
+ '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 parameters.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '24CE1987-D1D1-5324-9BAD-2750B60E6ABB',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RouteMaps' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'RouteMap' => [
- 'description' => 'The information about the routing policy.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the routing policy.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RouteMapId' => [
- 'description' => 'The routing policy ID.'."\n",
- 'type' => 'string',
- 'example' => 'cenrmap-y40mxdvf7joc12****',
- ],
- 'Status' => [
- 'description' => 'The status of the routing policy. Valid values:'."\n"
- ."\n"
- .'* **Creating**'."\n"
- .'* **Active**'."\n"
- .'* **Deleting**'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'TransmitDirection' => [
- 'description' => 'The direction in which the routing policy is applied.'."\n",
- 'type' => 'string',
- 'example' => 'RegionOut',
- ],
- 'SourceInstanceIdsReverseMatch' => [
- 'description' => 'Indicates whether the source network instance IDs are excluded.'."\n"
- ."\n"
- .'* **false** (default): A route is a match if its source network instance ID is in the list specified by **SourceInstanceIds.N**.'."\n"
- .'* **true**: A route is match if its source network instance ID is not in the list specified by **SourceInstanceIds.N**.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'CenRegionId' => [
- 'description' => 'The region ID of the routing policy.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'CenId' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'cen-wx12mmlt17ld82****',
- ],
- 'Priority' => [
- 'description' => 'The priority of the routing policy. A smaller value indicates a higher priority.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5000',
- ],
- 'TransitRouterRouteTableId' => [
- 'description' => 'The route table ID of the transit router with which the routing policy is associated.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-gw8nx3515m1mbd1z1****',
- ],
- 'CommunityOperateMode' => [
- 'description' => 'The action that is performed on the community of the route.'."\n"
- ."\n"
- .'* **Additive**: adds the community to the route.'."\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.'."\n",
- 'type' => 'string',
- 'example' => 'Additive',
- ],
- 'MapResult' => [
- 'description' => 'The action performed on a route that meets the match conditions.'."\n"
- ."\n"
- .'* **Permit**: the route is permitted.'."\n"
- .'* **Deny**: the route is denied.'."\n",
- 'type' => 'string',
- 'example' => 'Deny',
- ],
- 'CommunityMatchMode' => [
- 'description' => 'The match method that is used to match routes against the community.'."\n"
- ."\n"
- .'* **Include**: fuzzy match. A route is a match if the community of the route overlaps with the community specified in the match condition.'."\n"
- .'* **Complete**: exact match. A route meets the match condition only if the community of the route is the same as the community specified in the match condition.'."\n",
- 'type' => 'string',
- 'example' => 'Include',
- ],
- 'Description' => [
- 'description' => 'The description of the routing policy.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'AsPathMatchMode' => [
- 'description' => 'The match method that is used to match routes based on the AS path.'."\n"
- ."\n"
- .'* **Include**: fuzzy match. A route is a match if the AS path of the route overlaps with the AS path specified in the match condition.'."\n"
- .'* **Complete**: exact match. A route is a match only if the AS path of the route is the same as an AS path specified in the match condition.'."\n",
- 'type' => 'string',
- 'example' => 'Include',
- ],
- 'Preference' => [
- 'description' => 'The new priority of the route.'."\n"
- ."\n"
- .'A smaller value indicates a higher priority.'."\n"
- ."\n"
- .'This parameter indicates the action to be performed when a route meets the match condition.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'DestinationInstanceIdsReverseMatch' => [
- 'description' => 'Indicates whether the destination network instance IDs are excluded.'."\n"
- ."\n"
- .'* **false** (default): A route is a match if its destination network instance ID is in the list specified by **DestinationInstanceIds.N**.'."\n"
- .'* **true**: A route is a match if its destination network instance ID is not in the list specified by **DestinationInstanceIds.N**.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'CidrMatchMode' => [
- 'description' => 'The match method that is used to evaluate routes based on the prefix. Valid values:'."\n"
+ '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"
- .'* **Include**: fuzzy match. A route is a match if the route prefix is included in the match conditions.'."\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"
- .'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"
+ .'> 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"
- .'* **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"
+ .'- **Creating**: The rule is being created.'."\n"
."\n"
- .'For example, if you set the match condition to 10.10.0.0/16 and exact match is enabled, a route is a match only if the prefix is 10.10.0.0/16.'."\n",
- 'type' => 'string',
- 'example' => 'Include',
- ],
- 'NextPriority' => [
- 'description' => 'The priority of the routing policy that you want to associate with the current one.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '33',
- ],
- 'MatchAddressType' => [
- 'description' => 'The type of IP address to be matched against the match condition. Valid values:'."\n"
+ .'- **Active**: The rule is available.'."\n"
."\n"
- .'* **IPv4**: IPv4 addresses'."\n"
- .'* **IPv6**: IPv6 addresses'."\n"
- .'* If no value is returned, both IPv4 and IPv6 addresses are matched against the match condition.'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'SourceRegionIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'SourceRegionId' => [
- 'description' => 'The IDs of the source regions to which the routes belong.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the source regions to which the routes belong.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
- 'SourceChildInstanceTypes' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'SourceChildInstanceType' => [
- 'description' => 'The types of source network instances to which the routes belong.'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **CCN**'."\n"
- .'* **VPN**'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The types of source network instances to which the routes belong.'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **CCN**'."\n"
- .'* **VPN**'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- ],
- ],
- ],
- 'DestinationRouteTableIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'DestinationRouteTableId' => [
- 'description' => 'The IDs of the destination route tables to which the routes belong. You can enter at most 32 route table IDs.'."\n"
- ."\n"
- .'> The destination route tables take effect only if the routing policy is applied to the egress gateway direction, and the destination route table IDs are in the current region.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the destination route tables to which the routes belong. You can enter at most 32 route table IDs.'."\n"
- ."\n"
- .'> The destination route tables take effect only if the routing policy is applied to the egress gateway direction, and the destination route table IDs are in the current region.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-adefrgtr144vf****',
- ],
- ],
- ],
- ],
- 'SourceInstanceIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'SourceInstanceId' => [
- 'description' => 'The IDs of the source network instances to which the routes belong.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the source network instances to which the routes belong.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-adeg3544fdf34vf****',
- ],
- ],
- ],
- ],
- 'DestinationCidrBlocks' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'DestinationCidrBlock' => [
- 'description' => 'The prefix list against which routes are matched.'."\n"
- ."\n"
- .'IPv4 and IPv6 addresses are supported.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The prefix list against which routes are matched.'."\n"
- ."\n"
- .'IPv4 and IPv6 addresses are supported.'."\n",
- 'type' => 'string',
- 'example' => '10.10.10.0/24',
- ],
- ],
- ],
- ],
- 'DestinationRegionIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'DestinationRegionId' => [
- 'description' => 'The IDs of the destination regions for the routing policy.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the destination regions for the routing policy.'."\n",
- 'type' => 'string',
- 'example' => 'cn-beijing',
- ],
- ],
- ],
- ],
- 'SourceRouteTableIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'SourceRouteTableId' => [
- 'description' => 'The IDs of the source route tables to which the routes belong.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the source route tables to which the routes belong.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-adfr233vf34rvd4****',
- ],
- ],
- ],
- ],
- 'MatchCommunitySet' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'MatchCommunity' => [
- 'description' => 'The community set against which routes are matched.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The community set against which routes are matched.'."\n",
- 'type' => 'string',
- 'example' => '65501:1',
- ],
- ],
- ],
- ],
- 'PrependAsPath' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'AsPath' => [
- 'description' => 'The AS paths that are prepended by using an action statement when regional gateways receive or advertise routes.'."\n"
- ."\n"
- .'This parameter indicates the action to be performed when a route meets the match condition.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The AS paths that are prepended by using an action statement when regional gateways receive or advertise routes.'."\n"
- ."\n"
- .'This parameter indicates the action to be performed when a route meets the match condition.'."\n",
- 'type' => 'string',
- 'example' => '65501',
- ],
- ],
- ],
- ],
- 'RouteTypes' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'RouteType' => [
- 'description' => 'The type of route that is compared. Valid values:'."\n"
- ."\n"
- .'* **System**: system routes that are automatically generated by the system.'."\n"
- .'* **Custom**: custom routes that are manually added.'."\n"
- .'* **BGP**: routes that are advertised over BGP.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The type of route that is compared. Valid values:'."\n"
- ."\n"
- .'* **System**: system routes that are automatically generated by the system.'."\n"
- .'* **Custom**: custom routes that are manually added.'."\n"
- .'* **BGP**: routes that are advertised over Border Gateway Protocol (BGP).'."\n",
- 'type' => 'string',
- 'example' => 'System',
- ],
- ],
- ],
- ],
- 'DestinationChildInstanceTypes' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'DestinationChildInstanceType' => [
- 'description' => 'The types of destination network instances to which the routes belong.'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **CCN**'."\n"
- .'* **VPN**'."\n"
- ."\n"
- .'> The destination route tables take effect only if the routing policy is applied to the egress gateway direction, and the type of the destination route tables is the same as that of the network instance in the current region.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The types of destination network instances to which the routes belong.'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **VBR**'."\n"
- .'* **CCN**'."\n"
- .'* **VPN**'."\n"
- ."\n"
- .'> The destination route tables take effect only if the routing policy is applied to the egress gateway direction, and the type of the destination route tables is the same as that of the network instance in the current region.'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- ],
- ],
- ],
- 'DestinationInstanceIds' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'DestinationInstanceId' => [
- 'description' => 'The IDs of the destination network instances to which the routes point.'."\n"
- ."\n"
- .'> The destination route tables take effect only if the routing policy is applied to the egress gateway direction, and the ID the destination instance is the same as that of the network instance in the current region.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the destination network instances to which the routes point.'."\n"
- ."\n"
- .'> The destination route tables take effect only if the routing policy is applied to the egress gateway direction, and the ID the destination instance is the same as that of the network instance in the current region.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-afrfs434465fdf****',
- ],
- ],
- ],
- ],
- 'MatchAsns' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'MatchAsn' => [
- 'description' => 'The AS paths against which routes are matched.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The AS paths against which routes are matched.'."\n",
- 'type' => 'string',
- 'example' => '65501',
- ],
- ],
+ .'- **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' => '',
],
- ],
- 'OperateCommunitySet' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'OperateCommunity' => [
- 'description' => 'The community set on which actions are performed.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The community set on which actions are performed.'."\n",
- 'type' => 'string',
- 'example' => '65501:1',
- ],
- ],
+ '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' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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',
+ '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'],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeCenRouteMapsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>24CE1987-D1D1-5324-9BAD-2750B60E6ABB</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <RouteMaps>\\n <RouteMap>\\n <Status>Active</Status>\\n <TransitRouterRouteTableId>vtb-gw8nx3515m1mbd1z1****</TransitRouterRouteTableId>\\n <Priority>5000</Priority>\\n <SourceChildInstanceTypes>\\n <SourceChildInstanceType>VBR</SourceChildInstanceType>\\n <SourceChildInstanceType>CCN</SourceChildInstanceType>\\n </SourceChildInstanceTypes>\\n <CenId>cen-wx12mmlt17ld82****</CenId>\\n <TransmitDirection>RegionOut</TransmitDirection>\\n <CenRegionId>cn-hangzhou</CenRegionId>\\n <RouteMapId>cenrmap-y40mxdvf7joc12****</RouteMapId>\\n <MapResult>Deny</MapResult>\\n <DestinationChildInstanceTypes>\\n <DestinationChildInstanceType>VBR</DestinationChildInstanceType>\\n <DestinationChildInstanceType>CCN</DestinationChildInstanceType>\\n </DestinationChildInstanceTypes>\\n </RouteMap>\\n </RouteMaps>\\n</DescribeCenRouteMapsResponse>","errorExample":""}]',
- 'title' => 'DescribeCenRouteMaps',
- 'description' => "\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateTransitRouteTableAggregation' => [
- 'summary' => 'Creates an aggregate route.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTrafficMarkingPolicies'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '154219',
- 'abilityTreeNodes' => [
- 'FEATUREcbnT33W0H',
- 'FEATUREcbn476RI8',
- ],
- ],
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'TransitRouteTableId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vtb-iq8qgruq1ry8jc7vt****',
- ],
+ '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' => 'TransitRouteTableAggregationName',
+ '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 name of the aggregate route.'."\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' => 'nametest',
+ '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' => [
[
- 'name' => 'TransitRouteTableAggregationCidr',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the aggregate route.'."\n"
- ."\n"
- .'> The following CIDR blocks are not supported:'."\n"
- .'>* CIDR blocks that start with 0 or 100.64.'."\n"
- .'>* Multicast CIDR blocks, including 224.0.0.1 to 239.255.255.254.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.10.0/24',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
[
- 'name' => 'TransitRouteTableAggregationScope',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The scope of networks to which the aggregate route is advertised.'."\n"
- ."\n"
- .'The valid value is **VPC**, which indicates that the aggregate route is advertised to all VPCs that are in associated forwarding correlation with the Enterprise Edition transit router and have route synchronization enabled.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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' => 'TransitRouteTableAggregationScopeList',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The list of propagation ranges of the aggregation route.'."\n"
- ."\n"
- .'> You must specify at least one of the following attributes: Aggregation Scope and Aggregate Scope List. We recommend that you specify the latter. The elements in the two attributes cannot be duplicate.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The list of propagation ranges of the aggregation route. Valid values:'."\n"
- ."\n"
- .'* **VPC** indicates that the aggregate route is advertised to all VPCs that are in associated forwarding correlation with the Enterprise Edition transit router and have route synchronization enabled.'."\n"
- .'* **VBR** indicates that the aggregated route is propagated to the VBR that is attached to the Enterprise Edition transit router.'."\n"
- .'* **Peer** indicates the aggregated route is propagated to the transit router that is connected to the Enterprise Edition transit router.'."\n"
- .'* **VPN** indicates the aggregated route is propagated to the VPN instance that is attached to the Enterprise Edition transit router.'."\n"
- .'* **ECR** indicates the aggregated route is propagated to the ECR instance that is attached to the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
- 'required' => false,
- 'maxItems' => 5,
- ],
+ 'schema' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
- 'name' => 'TransitRouteTableAggregationDescription',
+ 'name' => 'TransitRouterCidrId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the aggregate route.'."\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' => 'desctest',
- ],
+ 'schema' => ['description' => 'The ID of the CIDR block.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'RegionId',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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 to perform a dry run. Valid 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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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' => [
- 'title' => 'PlainResponse',
- 'description' => 'The response.'."\n",
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ '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' => 'InvalidOperation.RegionNotSupport',
- 'errorMessage' => 'The Operation is not Support in this region.',
- ],
- [
- 'errorCode' => 'InstanceExist.AggregationRoute',
- 'errorMessage' => 'This aggregation route is already created.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouteTable',
- 'errorMessage' => 'The transitRouter route table is not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouteTable',
- 'errorMessage' => 'The transitRouter route table is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.AggregationRoute',
- 'errorMessage' => 'The aggregation route count is over limit.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouter',
- 'errorMessage' => 'The aggregation route is not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of transitRouter is invalid.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ServiceMode',
- 'errorMessage' => 'The operation is not supported because of the wrong transitRouter service mode.',
- ],
- [
- 'errorCode' => 'InvalidCidrBlock',
- 'errorMessage' => 'The cidr block is invalid.',
- ],
- [
- 'errorCode' => 'RouteConflict',
- 'errorMessage' => 'The specified route already exists.',
- ],
- [
- 'errorCode' => 'InvalidOperation.InstanceNotSupportIPv6Route',
- 'errorMessage' => 'The cen dose not support Ipv6 route.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr',
- 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.',
- ],
- [
- 'errorCode' => 'MissingParameter.ScopeListOrScope',
- 'errorMessage' => 'The input parameter TransitRouteTableAggregationScopeList or TransitRouteTableAggregationScope that is mandatory for processing this request is not supplied.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouteTableAggregationScope',
- 'errorMessage' => 'TransitRouteTableAggregationScope is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouteTableAggregationScopeList',
- 'errorMessage' => 'TransitRouteTableAggregationScopeList is invalid.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouteTableAggregationScope',
- 'errorMessage' => 'The parameter TransitRouteTableAggregationScope is mandatory.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouteTableAggregationScope',
- 'errorMessage' => 'TransitRouteTableAggregationScope is invalid, valid value is VPC.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouteTableAggregationResponse>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</CreateTransitRouteTableAggregationResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouteTableAggregation',
- 'description' => 'After you add an aggregate route to a route table of an Enterprise Edition transit router, the transit router advertises its routes only to route tables of associated virtual private clouds (VPCs) and have route synchronization enabled.'."\n"
- ."\n"
- .'Perform the following operations before you create an aggregate route. Otherwise, the Enterprise Edition transit router does not advertise routes to VPC route tables:'."\n"
- ."\n"
- .'* Associated forwarding is enabled between the VPCs and the Enterprise Edition transit router. For more information, see [AssociateTransitRouterAttachmentWithRouteTable](~~261242~~).'."\n"
- .'* Route synchronization is enabled for the VPCs. For more information, see [CreateTransitRouterVpcAttachment](~~261358~~).'."\n",
- ],
- 'ModifyTransitRouteTableAggregation' => [
- 'summary' => 'Edit an aggregate route.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterCidr'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'security' => [
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'cen:ListTransitRouterCidr',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
+ ],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '258484',
- 'abilityTreeNodes' => [
- 'FEATUREcbnT33W0H',
- 'FEATUREcbn476RI8',
+ '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":"<ListTransitRouterCidrResponse>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n <CidrLists>\\n <TransitRouterCidrId>cidr-0zv0q9crqpntzz****</TransitRouterCidrId>\\n <Family>IPv4</Family>\\n <Name>nametest</Name>\\n <Description>desctest</Description>\\n <Cidr>192.168.10.0/24</Cidr>\\n <PublishCidrRoute>true</PublishCidrRoute>\\n <TransitRouterId>tr-p0w3x8c9em72a40nw****</TransitRouterId>\\n </CidrLists>\\n</ListTransitRouterCidrResponse>","errorExample":""}]',
+ ],
+ 'ListTransitRouterCidrAllocation' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
],
],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'TransitRouteTableId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The list of route table IDs of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
+ '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' => 'TransitRouteTableAggregationName',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the aggregate route.'."\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' => 'nametest',
- ],
+ 'schema' => ['description' => 'The ID of the Transit Router instance.', 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
- 'name' => 'TransitRouteTableAggregationCidr',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the aggregate route.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.10.0/24',
- ],
+ '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' => 'TransitRouteTableAggregationScope',
+ 'name' => 'TransitRouterCidrId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The scope of networks that you want to advertise the aggregate route.'."\n"
- ."\n"
- .'The valid value is **VPC**, which indicates that the aggregate route is advertised to all VPCs that have associated forwarding correlation with the Enterprise Edition transit router and have route synchronization enabled.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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' => 'TransitRouteTableAggregationScopeList',
+ 'name' => 'CidrBlock',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The scope of networks to which the aggregate route is advertised.'."\n"
- ."\n"
- .'> You must select at least one attribute from either the Aggregate Route Propagation Range or the Aggregate Route Propagation Range List. We recommend using the latter. The elements of the two attributes cannot duplicate.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The scope of networks that you want to advertise the aggregate route. Valid values:'."\n"
- ."\n"
- .'* **VPC** specifies the route is advertised to all VPCs that are in associated forwarding correlation with the Enterprise Edition transit router and have route synchronization enabled.'."\n"
- .'* **VBR** specifies the aggregated route that is advertised to the VBR that is attached to the Enterprise Edition transit router.'."\n"
- .'* **Peer** specifies the aggregated route is advertised to the transit router that is connected to another Enterprise Edition transit router.'."\n"
- .'* **VPN** specifies the aggregated route is advertised to the VPN attached to the Enterprise Edition transit router.'."\n"
- .'* **ECR** specifies the aggregated route is propagated to the ECR attached to the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VBR',
- ],
- 'required' => false,
- 'maxItems' => 5,
- ],
+ 'schema' => ['description' => 'The allocated CIDR block.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/28', 'title' => ''],
],
[
- 'name' => 'TransitRouteTableAggregationDescription',
+ 'name' => 'Cidr',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the aggregate route.'."\n"
- ."\n"
- .'The description can be empty or 0 to 256 characters in length and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ 'schema' => ['description' => 'The CIDR block of the transit router.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'DedicatedOwnerId',
'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 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** may be different.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4****',
- ],
+ '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 to check information such as the permissions and instance status. Valid values:'."\n"
- ."\n"
- .'* **false** (default): sends the request. If the request passes the check, an Enterprise Edition transit router is created.'."\n"
- .'* **true**: checks the request but does not create the Enterprise Edition transit router. 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",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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' => [
- 'title' => 'PlainResponse',
- 'description' => 'PlainResponse'."\n",
+ 'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ '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' => 'InvalidOperation.RegionNotSupport',
- 'errorMessage' => 'The Operation is not Support in this region.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouteTable',
- 'errorMessage' => 'The transitRouter route table is not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouteTable',
- 'errorMessage' => 'The transitRouter route table is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.AggregationRoute',
- 'errorMessage' => 'The aggregation route count is over limit.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouter',
- 'errorMessage' => 'The aggregation route is not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of transitRouter is invalid.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ServiceMode',
- 'errorMessage' => 'The operation is not supported because of the wrong transitRouter service mode.',
- ],
- [
- 'errorCode' => 'InvalidCidrBlock',
- 'errorMessage' => 'The cidr block is invalid.',
- ],
- [
- 'errorCode' => 'RouteConflict',
- 'errorMessage' => 'The specified route already exists.',
- ],
- [
- 'errorCode' => 'InvalidOperation.InstanceNotSupportIPv6Route',
- 'errorMessage' => 'The cen dose not support Ipv6 route.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr',
- 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ModifyTransitRouteTableAggregation',
- 'errorMessage' => 'ModifyTransitRouteTableAggregation is unsupported.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouteTableAggregationScopeList',
- 'errorMessage' => 'TransitRouteTableAggregationScopeList is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TransitRouteTableAggregationScope',
- 'errorMessage' => 'TransitRouteTableAggregationScope is invalid.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.AggregationRoute',
- 'errorMessage' => 'The aggregation route is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.AggregationRoute',
- 'errorMessage' => 'The aggregation route is not exist.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => 'ListTransitRouterCidrAllocation',
+ 'summary' => 'Queries the allocation details of a CIDR block.',
+ 'changeSet' => [
+ ['createdAt' => '2023-08-04T05:57:50.000Z', 'description' => 'Error codes changed'],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
- 'title' => 'ModifyTransitRouteTableAggregation',
- ],
- 'DeleteTransitRouteTableAggregation' => [
- 'summary' => 'Deletes an aggregate route.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterCidrAllocation'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '154263',
- 'abilityTreeNodes' => [
- 'FEATUREcbnYACM08',
- ],
- ],
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'TransitRouteTableId',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'TransitRouteTableAggregationCidr',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the aggregate route.'."\n"
- ."\n"
- .'> The following CIDR blocks are not supported:'."\n"
- .'>* CIDR blocks that start with 0 or 100.64.'."\n"
- .'>* Multicast CIDR blocks, including 224.0.0.1 to 239.255.255.254.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.10.0/24',
- ],
+ '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' => 'ClientToken',
+ 'name' => 'TransitRouterAttachmentId',
'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-130e-11e9-8e44-001****',
- ],
+ 'schema' => ['description' => 'The ID of the ECR connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ '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' => 'Specifies whether to perform only a dry run, without performing the actual request. Default values:'."\n"
+ 'description' => 'The tags.'."\n"
."\n"
- .'* **false** (default): performs only a dry run.'."\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.'."\n",
- 'type' => 'boolean',
+ .'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,
- 'example' => 'false',
- 'default' => 'false',
+ 'maxItems' => 20,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResponse',
- 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ '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' => 'InstanceNotExist.AggregationRoute',
- 'errorMessage' => 'This aggregation route is not exist.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouteTable',
- 'errorMessage' => 'The transitRouter route table is not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouteTable',
- 'errorMessage' => 'The status of transitRouter route table is invalid.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouter',
- 'errorMessage' => 'The transitRouter is not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of transitRouter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr',
- 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TrRouteTableAggregationCidr',
- 'errorMessage' => 'The aggregation route does not exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouteTableAggregationCidr',
- 'errorMessage' => 'Route table aggregation cidr status is invalid.',
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouteTableAggregationResponse>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</DeleteTransitRouteTableAggregationResponse>","errorExample":""}]',
- 'title' => 'DeleteTransitRouteTableAggregation',
- 'description' => '* Before you delete an aggregate route, make sure that your network has a redundant route to prevent service interruptions.'."\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.'."\n",
+ '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"}]',
],
- 'RefreshTransitRouteTableAggregation' => [
- 'summary' => 'Re-advertises an aggregate route.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListTransitRouterMulticastDomainAssociations' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'TransitRouteTableId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vtb-iq8qgruq1ry8jc7vt****',
- ],
+ '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' => 'TransitRouteTableAggregationCidr',
+ 'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.53.0/24',
- ],
+ 'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => false, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ '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' => '',
- 'type' => 'string',
+ '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,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
+ '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 => [
- 'headers' => [],
'schema' => [
- 'title' => 'PlainResponse',
- 'description' => '',
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ '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' => 'InstanceNotExist.TransitRouteTable',
- 'errorMessage' => 'The transitRouter route table is not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouteTable',
- 'errorMessage' => 'The status of transitRouter route table is invalid.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.AggregationRoute',
- 'errorMessage' => 'The aggregation route is not exist.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouter',
- 'errorMessage' => 'The transitRouter is not exist.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr',
- 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidCidrBlock',
- 'errorMessage' => 'The transitRouteTableAggregationCidr is invalid.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":""},{"type":"xml","example":"<RefreshTransitRouteTableAggregationResponse>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</RefreshTransitRouteTableAggregationResponse>","errorExample":""}]',
- 'title' => 'RefreshTransitRouteTableAggregation',
- ],
- 'DescribeTransitRouteTableAggregationDetail' => [
- 'summary' => 'Queries the configuration of an aggregate route.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -22293,149 +15964,116 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '154265',
- 'abilityTreeNodes' => [
- 'FEATUREcbnIIZZGE',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'TransitRouteTableId',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cen-44m0p68spvlrqq****'],
],
[
- 'name' => 'TransitRouteTableAggregationCidr',
+ 'name' => 'VpcId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the aggregate route.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.10.0/24',
- ],
+ 'schema' => ['description' => 'The ID of the VPC instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vpc-p0wr1cd4fcuxy3ui0****'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'VSwitchIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the value, but you must make sure that the value is unique among different requests. The client token can contain only ASCII characters.'."\n"
+ 'description' => 'The list of vSwitch IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the vSwitch.'."\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',
+ .'You can specify up to 50 vSwitch IDs at a time.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-p0w5ejr9bzfsttiza****'],
'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-001****',
+ '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' => [
- 'title' => 'ListTokenResult<CbnTrRouteTableAggregationDetailModel>',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned result.',
'type' => 'object',
'properties' => [
- 'Data' => [
- 'description' => 'The configuration of the aggregate route.'."\n",
+ '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 configuration of the aggregate route.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'InstanceId' => [
- 'description' => 'The ID of the virtual private cloud (VPC) for which the aggregate route is configured.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-6eh7fp9hdqa2wv85t****',
- ],
- 'Description' => [
- 'description' => 'The error message returned if the configuration of the aggregate route fails.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'Status' => [
- 'description' => 'The status of the aggregate route. Valid values:'."\n"
- ."\n"
- .'* **Configured**: The aggregate route is advertised to the VPC.'."\n"
- .'* **Configuring**: The aggregate route is being advertised.'."\n"
- .'* **ConfigFailed**: The aggregate route failed to be advertised.'."\n"
- .'* **PartialConfigured**: Failed to advertise the aggregate route to some VPCs.'."\n"
- .'* **Deleting**: The aggregate route is being deleted.',
- 'type' => 'string',
- 'example' => 'Configured',
- ],
- ],
- ],
- ],
- 'Count' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'Total' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ 'items' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'title' => '', 'example' => 'vsw-p0w5ejr9bzfsttiza****'],
+ 'maxItems' => 50,
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.TransitRouterRouteTableId',
- 'errorMessage' => 'The transitRouter route table id is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.AggregationRouteCidr',
- 'errorMessage' => 'The aggregation route cidr is illegal.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouterRouteTable',
- 'errorMessage' => 'The transitRouter route table is not exist.',
- ],
- [
- 'errorCode' => 'InvalidCidrBlock',
- 'errorMessage' => 'The transitRouteTableAggregationCidr is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeTransitRouteTableAggregationDetailResponse>\\n <Data>\\n <InstanceId>vpc-6eh7fp9hdqa2wv85t****</InstanceId>\\n <Description>desctest</Description>\\n <Status>AllConfigured</Status>\\n </Data>\\n <Count>10</Count>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <Total>1</Total>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</DescribeTransitRouteTableAggregationDetailResponse>","errorExample":""}]',
- 'title' => 'DescribeTransitRouteTableAggregationDetail',
- ],
- 'DescribeTransitRouteTableAggregation' => [
- 'summary' => 'Queries the aggregate routes on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -22444,715 +16082,736 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '154264',
- 'abilityTreeNodes' => [
- 'FEATUREcbnT33W0H',
- 'FEATUREcbn476RI8',
- ],
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '129152',
+ 'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnNFSCZP'],
],
'parameters' => [
[
- 'name' => 'TransitRouteTableId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
+ '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' => 'TransitRouteTableAggregationCidr',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination CIDR block of the aggregate route.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.10.0/24',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cen-a7syd349kne38g****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'TransitRouterId',
'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' => '02fb3da4-130e-11e9-8e44-001****',
- ],
+ '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 to return on each page. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'minimum' => '0',
- 'example' => '20',
- ],
+ '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 token that determines the start point of the query. Valid values:'."\n"
+ 'description' => 'The tags.'."\n"
."\n"
- .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n"
- .'* If a next query is to be sent, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'ListTokenResult<CbnTrRouteTableAggregationModel>',
- 'description' => 'The results returned.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'Data' => [
- 'description' => 'A list of aggregate routes.'."\n",
+ '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 information about the aggregate route.'."\n",
+ 'description' => 'The details of the multicast domain.',
'type' => 'object',
'properties' => [
- 'Name' => [
- 'description' => 'The name of the aggregate route.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'TransitRouteTableAggregationCidr' => [
- 'description' => 'The destination CIDR block of the aggregate route.'."\n",
- 'type' => 'string',
- 'example' => '192.168.10.0/24',
- ],
- 'Scope' => [
- 'description' => 'The scope of networks that you want to advertise the aggregate route.'."\n"
- ."\n"
- .'The valid value is **VPC**, which indicates that the aggregate route is advertised to all virtual private clouds (VPCs) that are in associated forwarding correlation with the Enterprise Edition transit router and have route synchronization enabled.'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'RouteType' => [
- 'description' => 'The type of the aggregate route.'."\n"
- ."\n"
- .'The valid value is **Static**, which indicates a static route. By default, aggregate routes advertised to a VPC are considered custom routes.'."\n",
- 'type' => 'string',
- 'example' => 'Static',
- 'default' => 'Static',
- ],
- 'Description' => [
- 'description' => 'The description of the aggregate route.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'TrRouteTableId' => [
- 'description' => 'The ID of the route table of the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
- 'Status' => [
- 'description' => 'The status of the advertisement of the aggregate route. Valid values:'."\n"
- ."\n"
- .'* **AllConfigured**: The aggregate route is advertised to all VPCs.'."\n"
- .'* **Configuring**: The aggregate route is being advertised.'."\n"
- .'* **ConfigFailed**: The aggregate route failed to be advertised.'."\n"
- .'* **PartialConfigured**: Failed to advertise the aggregate route to some VPCs.'."\n"
- .'* **Deleting**: The aggregate route is being deleted.',
- 'type' => 'string',
- 'example' => 'AllConfigured',
- ],
- 'ScopeList' => [
- 'description' => 'The list of propagation ranges of the aggregation route.'."\n"
- ."\n"
- .'> You must specify at least one of the following attributes: Aggregation Scope and Aggregate Scope List. We recommend that you specify the latter. The elements in the two attributes cannot be duplicate.'."\n",
+ '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' => [
- 'description' => 'Aggregate scope list. Valid values:'."\n"
- ."\n"
- .'* **VPC** indicates that the aggregate route is advertised to all VPCs that are in associated forwarding correlation with the Enterprise Edition transit router and have route synchronization enabled.'."\n"
- .'* **VBR** indicates that the aggregated route is propagated to the VBR that is attached to the Enterprise Edition transit router.'."\n"
- .'* **Peer** indicates the aggregated route is propagated to the transit router that is connected to the Enterprise Edition transit router.'."\n"
- .'* **VPN** indicates the aggregated route is propagated to the VPN instance that is attached to the Enterprise Edition transit router.'."\n"
- .'* **ECR** indicates the aggregated route is propagated to the ECR instance that is attached to the Enterprise Edition transit router.'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
+ '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' => '',
],
- ],
- 'Count' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'Total' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MissingParam.transitRouterRouteTableId',
- 'errorMessage' => 'Missing the parameter transitRouter route table id.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The nextToken is illegal.',
- ],
- [
- 'errorCode' => 'InstanceNotExist.TransitRouterRouteTable',
- 'errorMessage' => 'The transitRouter route table is not found.',
- ],
- [
- 'errorCode' => 'InvalidCidrBlock',
- 'errorMessage' => 'The transitRouteTableAggregationCidr is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeTransitRouteTableAggregationResponse>\\n <Data>\\n <Name>nametest</Name>\\n <TransitRouteTableAggregationCidr>192.168.10.0/24</TransitRouteTableAggregationCidr>\\n <Scope>VPC</Scope>\\n <RouteType>Static</RouteType>\\n <Description>desctest</Description>\\n <TrRouteTableId>vtb-6ehgc262hr170qgyc****</TrRouteTableId>\\n <Status>AllConfigured</Status>\\n </Data>\\n <Count>20</Count>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <Total>1</Total>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</DescribeTransitRouteTableAggregationResponse>","errorExample":""}]',
- 'title' => 'DescribeTransitRouteTableAggregation',
- 'description' => 'You can specify the values of the **TransitRouteTableId** and **TransitRouteTableAggregationCidr** parameters to query a specified aggregate route. If you specify only the **TransitRouteTableId** parameter, all aggregated routes in the route table are queried.'."\n",
- ],
- 'CreateTransitRouterPrefixListAssociation' => [
- 'summary' => 'Associates the route table of an Enterprise Edition transit router with a prefix list.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ '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' => '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"
+ 'description' => 'A list of vSwitch IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the vSwitch.'."\n"
."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
+ .'You can specify a maximum of 20 vSwitch IDs.', 'type' => 'string', 'required' => false, 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', 'title' => ''],
'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-4266****',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'PeerTransitRouterMulticastDomains',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the region where the transit router is deployed.'."\n"
+ '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 call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ .'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' => 'TransitRouterId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-6ehx7q2jze8ch5ji0****',
- ],
+ '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' => 'NextHopType',
+ 'name' => 'ResourceId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the resource associated with the multicast resource.', 'type' => 'string', 'required' => false, 'example' => 'vpc-p0w9alkte4w2htrqe****', 'title' => ''],
],
[
- 'name' => 'PrefixListId',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the prefix list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'pl-6ehtn5kqxgeyy08fi****',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'TransitRouterTableId',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
+ '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' => 'NextHop',
+ 'name' => 'IsGroupSource',
'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****',
- ],
+ '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' => 'OwnerUid',
+ 'name' => 'IsGroupMember',
'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',
- ],
+ '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' => 'DryRun',
+ 'name' => 'NetworkInterfaceIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run. 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"
+ 'description' => 'A list of Elastic Network Interface (ENI) IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the ENI.'."\n"
."\n"
- .'> This parameter is not in use.'."\n",
- 'type' => 'boolean',
+ .'You can specify a maximum of 20 ENI IDs.', 'type' => 'string', 'required' => false, 'example' => 'eni-p0weuda3lszwzjly****', 'title' => ''],
'required' => false,
- 'docRequired' => false,
- 'example' => 'false',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ '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' => '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.',
- ],
- [
- 'errorCode' => 'ResourceNotSupport.CCN',
- 'errorMessage' => 'CCN not support prefix list.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.PrefixlistCidrs',
- 'errorMessage' => 'Can not find any cidr of specified prefix list.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.Nexthop',
- 'errorMessage' => 'The specified nexthop instance is not exsit.',
- ],
- [
- 'errorCode' => 'ResourceExisted.PrefixlistAssociation',
- 'errorMessage' => 'The prefix list has been already associated with this route table.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.PrefixlistAssociation',
- 'errorMessage' => 'The prefix list is not associated with this route table. ',
- ],
- [
- 'errorCode' => 'ResourceConflict.Route',
- 'errorMessage' => 'Some of the prefixes of the prefix list are conflicted with exsited routes. ',
- ],
- [
- 'errorCode' => 'MultipleFound.PrefixlistAssociation',
- 'errorMessage' => 'multiple same prefix association record found.',
- ],
- [
- 'errorCode' => 'QuotaReached.Route',
- 'errorMessage' => 'The quota of the route table is not enough for the request prefix list. ',
- ],
- [
- 'errorCode' => 'InvalidStatus.PrefixlistAssociation',
- 'errorMessage' => 'The prefix list association is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'NotSupport.TrType',
- 'errorMessage' => 'The basic tr type is not support for this operation.',
- ],
- [
- 'errorCode' => 'InvalidValue.PrefixlistCidr',
- 'errorMessage' => 'Invalid cidr exist in the specified prefixlist.',
- ],
- [
- 'errorCode' => 'ResourceNotSupport.Nexthop',
- 'errorMessage' => 'The specified nexthop instance type is not support for the operation.',
- ],
- [
- 'errorCode' => 'ResourceMismatch.Nexthop',
- 'errorMessage' => 'The specified nexthop and nexthop type mismatched.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.PrefixList',
- 'errorMessage' => 'The specified prefixlist does not found.',
- ],
- [
- 'errorCode' => 'OperationDenied.SystemPrefixList',
- 'errorMessage' => 'SystemPrefixList can not be operated.',
- ],
- [
- 'errorCode' => 'OperationFailed.OperateShareResource',
- 'errorMessage' => 'Operate share prefixlist failed.',
- ],
- [
- 'errorCode' => 'InvalidStatus.Prefixlist',
- 'errorMessage' => 'Prefixlist is not in a operate status.',
- ],
- [
- 'errorCode' => 'RegionNotSupport.Prefixlist',
- 'errorMessage' => 'Prefixlist association are not supported in this region.',
- ],
- [
- 'errorCode' => 'OperationFailed.TransitRouterNotExist',
- 'errorMessage' => 'Operation failed because transit router not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.RouteTable',
- 'errorMessage' => 'RouteTable status is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterTableId',
- 'errorMessage' => 'The specified Route Table ID is invalid.',
- ],
- [
- 'errorCode' => 'OperationDenied.ECSPrefixList',
- 'errorMessage' => 'Associate ECS PrefixList is not supported.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTransitRouterPrefixListAssociationResponse>\\n <RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\n</CreateTransitRouterPrefixListAssociationResponse>","errorExample":""}]',
- 'title' => 'CreateTransitRouterPrefixListAssociation',
- 'description' => 'To associate an Enterprise Edition transit router with a route prefix, you must meet the following requirements:'."\n"
+ '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"
- .'* 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",
- ],
- 'DeleteTransitRouterPrefixListAssociation' => [
- 'summary' => 'Disassociates the route table of an Enterprise Edition transit router from a prefix list.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '72394',
+ 'abilityTreeNodes' => ['FEATUREcbnFWWHEY'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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****',
- ],
+ '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 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',
- ],
- ],
- [
- 'name' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-6ehx7q2jze8ch5ji0****',
- ],
+ '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' => 'PrefixListId',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the prefix list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'pl-6ehtn5kqxgeyy08fi****',
- ],
+ 'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-5u4qbayfv2io5v****', 'title' => ''],
],
[
- 'name' => 'TransitRouterTableId',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the route table of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
+ 'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
- 'name' => 'NextHop',
+ 'name' => 'MaxResults',
'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****',
- ],
+ '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' => 'NextHopType',
+ 'name' => 'NextToken',
'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',
- ],
+ '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' => 'DryRun',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ 'description' => 'The tags.'."\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',
+ .'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,
- 'docRequired' => false,
- 'example' => 'false',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '835E7F4B-B380-4E0F-96A5-6EA572388047',
+ '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' => '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.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.PrefixlistCidrs',
- 'errorMessage' => 'Can not find any cidr of specified prefix list.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.Nexthop',
- 'errorMessage' => 'The specified nexthop instance is not exsit.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.PrefixlistAssociation',
- 'errorMessage' => 'The prefix list is not associated with this route table. ',
- ],
- [
- 'errorCode' => 'MultipleFound.PrefixlistAssociation',
- 'errorMessage' => 'multiple same prefix association record found.',
- ],
- [
- 'errorCode' => 'InvalidStatus.PrefixlistAssociation',
- 'errorMessage' => 'The prefix list association is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.PrefixList',
- 'errorMessage' => 'The specified prefixlist does not found.',
- ],
- [
- 'errorCode' => 'OperationDenied.SystemPrefixList',
- 'errorMessage' => 'SystemPrefixList can not be operated.',
- ],
- [
- 'errorCode' => 'OperationFailed.OperateShareResource',
- 'errorMessage' => 'Operate share prefixlist failed.',
- ],
- [
- 'errorCode' => 'InvalidStatus.Prefixlist',
- 'errorMessage' => 'Prefixlist is not in a operate status.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.RouteTable',
- 'errorMessage' => 'RouteTable status is invalid.',
- ],
- [
- 'errorCode' => 'OperationFailed.TransitRouterNotExist',
- 'errorMessage' => 'Operation failed because transit router not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'TransitRouter status is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterTableId',
- 'errorMessage' => 'The specified Route Table ID is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
- 404 => [
- [
- 'errorCode' => 'InvalidRouteTableId.NotFound',
- 'errorMessage' => 'The specified RouteTableId is not found.',
+ ],
+ '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"835E7F4B-B380-4E0F-96A5-6EA572388047\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterPrefixListAssociationResponse>\\n <RequestId>835E7F4B-B380-4E0F-96A5-6EA572388047</RequestId>\\n</DeleteTransitRouterPrefixListAssociationResponse>","errorExample":""}]',
- '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.',
+ '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' => [
- 'summary' => 'Queries the prefix lists that are associated with an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -23160,2066 +16819,1161 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'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',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-6ehx7q2jze8ch5ji0****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'pl-6ehtn5kqxgeyy08fi****',
- ],
+ '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.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'docRequired' => false,
- 'example' => '1210123456123456',
- ],
+ '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**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ '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**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ '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.'."\n"
- ."\n"
- .'> Set the value to **BlackHole** if you want to query the prefix list that generates blackhole routes.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-flbq507rg2ckrj****',
- ],
+ '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 type of the next hop. Valid values:'."\n"
- ."\n"
- .'* **BlackHole**: The prefix list that generates blackhole routes.'."\n"
- .'* **VPC**: The prefix list whose next hop is a virtual private cloud (VPC) connection.'."\n"
- .'* **VBR**: The prefix list whose next hop is a virtual border router (VBR) connection.'."\n"
- .'* **TR**: The prefix list whose next hop is an inter-region connection on the transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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 associated with the next hop connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-6eh7fp9hdqa2wv85t****',
- ],
+ '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. Valid values:'."\n"
- ."\n"
- .'* **Active**'."\n"
- .'* **Updating**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
+ '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.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6005CA94-676E-1FEE-985E-7602EFAADD6A',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
+ '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' => 'A list of prefix lists.'."\n",
+ 'description' => 'The information about the prefix lists.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the prefix list.'."\n",
+ 'description' => 'The information about the prefix list.',
'type' => 'object',
'properties' => [
- 'PrefixListId' => [
- 'description' => 'The ID of the prefix list.'."\n",
- 'type' => 'string',
- 'example' => 'pl-6ehtn5kqxgeyy08fi****',
- ],
- 'OwnerUid' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the prefix list belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1210123456123456',
- ],
- 'Status' => [
- 'description' => 'The status of the prefix list. Valid values:'."\n"
- ."\n"
- .'* **Active**: The prefix list is effective.'."\n"
- .'* **Updating**: The prefix list is being updated.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'NextHop' => [
- 'description' => 'The ID of the next hop.'."\n"
- ."\n"
- .'> A value of **BlackHole** indicates that all the CIDR blocks in the prefix list are blackhole routes. Packets destined for the CIDR blocks are dropped.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-flbq507rg2ckrj****',
- ],
- 'NextHopInstanceId' => [
- 'description' => 'The ID of the network instance associated with the next hop connection.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-6eh7fp9hdqa2wv85t****',
- ],
- 'NextHopType' => [
- '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',
- 'example' => 'VPC',
- ],
- 'TransitRouterTableId' => [
- 'description' => 'The ID of the route table of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'vtb-6ehgc262hr170qgyc****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-6ehx7q2jze8ch5ji0****',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterPrefixListAssociationResponse>\\n <RequestId>6005CA94-676E-1FEE-985E-7602EFAADD6A</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <PrefixLists>\\n <PrefixListId>pl-6ehtn5kqxgeyy08fi****</PrefixListId>\\n <OwnerUid>1210123456123456</OwnerUid>\\n <Status>Active</Status>\\n <NextHop>tr-attach-flbq507rg2ckrj****</NextHop>\\n <NextHopInstanceId>vpc-6eh7fp9hdqa2wv85t****</NextHopInstanceId>\\n <NextHopType>VPC</NextHopType>\\n <TransitRouterTableId>vtb-6ehgc262hr170qgyc****</TransitRouterTableId>\\n <TransitRouterId>tr-6ehx7q2jze8ch5ji0****</TransitRouterId>\\n </PrefixLists>\\n</ListTransitRouterPrefixListAssociationResponse>","errorExample":""}]',
'title' => 'ListTransitRouterPrefixListAssociation',
- ],
- 'AddTraficMatchRuleToTrafficMarkingPolicy' => [
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
- 'deprecated' => true,
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72395',
+ 'abilityTreeNodes' => ['FEATUREcbnIIZZGE'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'MaxResults',
'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****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TransitRouterRouteEntryDestinationCidrBlock',
'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',
- ],
+ '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' => 'TrafficMarkingPolicyId',
+ 'name' => 'TransitRouterRouteEntryStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-u9nxup5kww5po8****',
- ],
+ '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' => 'TrafficMatchRules',
+ '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 information about the traffic classification rule.'."\n"
- ."\n"
- .'You can specify at most 50 traffic classification rules.'."\n",
+ 'description' => 'The route name.',
'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',
- ],
- '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',
- ],
- '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',
- ],
- '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',
- ],
- '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',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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',
- ],
- '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',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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',
- ],
- ],
- 'required' => false,
- ],
+ '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,
- 'maxItems' => 50,
+ 'example' => 'testname',
+ 'maxItems' => 20,
+ 'title' => '',
],
],
- ],
- 'responses' => [
- 200 => [
+ [
+ 'name' => 'TransitRouterRouteEntryIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The response.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A',
- ],
- ],
+ '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' => '',
],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound',
- 'errorMessage' => 'Operation is failed because traffic marking policy id is not found.',
- ],
- [
- 'errorCode' => 'InstanceExist.TrafficMatchRules',
- 'errorMessage' => 'The instance already exists.',
- ],
- [
- 'errorCode' => 'Duplicated.TrafficMatchRules',
- 'errorMessage' => 'The parameter TrafficMatchRules are duplicated.',
- ],
- [
- 'errorCode' => 'IllegalParam.SrcCidr',
- 'errorMessage' => 'SrcCidr is illegal.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrafficMarkingPolicy',
- 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.',
- ],
- [
- 'errorCode' => 'IllegalParam.DstCidr',
- 'errorMessage' => 'DstCidr is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.Protocol',
- 'errorMessage' => 'Protocol is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ [
+ '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'],
],
- ],
- 'staticInfo' => [
- 'substitutions' => [
- 'Cbn::2017-09-12::AddTrafficMatchRuleToTrafficMarkingPolicy',
+ [
+ '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'],
],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","errorExample":""},{"type":"xml","example":"<AddTraficMatchRuleToTrafficMarkingPolicyResponse>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n</AddTraficMatchRuleToTrafficMarkingPolicyResponse>","errorExample":""}]',
- '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.',
- ],
- 'AddTrafficMatchRuleToTrafficMarkingPolicy' => [
- 'summary' => 'Adds a traffic classification rule to a traffic marking policy.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ '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****'],
],
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '136121',
- 'abilityTreeNodes' => [
- 'FEATUREcbnWVMXRT',
+ [
+ 'name' => 'TransitRouterRouteEntryNextHopResourceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The next hop ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vpc-m5ent6du8deaq5*****'],
],
- ],
- 'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'TransitRouterRouteEntryNextHopResourceType',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TransitRouterRouteEntryOriginResourceId',
'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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The source instance ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vpc-m5ent6du8deaq5*****'],
],
[
- 'name' => 'TrafficMarkingPolicyId',
+ 'name' => 'TransitRouterRouteEntryOriginResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-u9nxup5kww5po8****',
- ],
+ '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' => 'TrafficMatchRules',
+ '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 traffic classification rules.'."\n"
- ."\n"
- .'You can add at most 50 traffic classification rules in each call.'."\n",
+ 'description' => 'The filter conditions.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the traffic classification rule.'."\n",
+ 'description' => 'The filter conditions.',
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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**.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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.'."\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 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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '80',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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.'."\n",
+ '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' => '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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '200',
- ],
+ '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' => 2,
- ],
- '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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
+ 'maxItems' => 500,
+ 'title' => '',
],
],
'required' => false,
+ 'title' => '',
],
'required' => false,
- 'maxItems' => 50,
+ 'maxItems' => 10,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A',
+ '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' => 'InvalidTrafficMarkingPolicyId.NotFound',
- 'errorMessage' => 'Operation is failed because traffic marking policy id is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.SrcCidr',
- 'errorMessage' => 'The specified SrcCidr is invalid.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrafficMarkingPolicy',
- 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.',
- ],
- [
- 'errorCode' => 'IllegalParam.DstCidr',
- 'errorMessage' => 'The specified DstCidr is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Protocol',
- 'errorMessage' => 'The specified Protocol is invalid.',
- ],
- [
- 'errorCode' => 'Duplicated.TrafficMatchRules',
- 'errorMessage' => 'The parameter AddTrafficMatchRules are duplicated.',
- ],
- [
- 'errorCode' => 'InstanceExist.TrafficMatchRules',
- 'errorMessage' => 'The instance already exists.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficMatchRules',
- 'errorMessage' => 'The parameter TrafficMatchRules is empty.',
- ],
- [
- 'errorCode' => 'IllegalParam.SrcPortRange',
- 'errorMessage' => 'The specified SrcPortRange is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.DstPortRange',
- 'errorMessage' => 'The specified DstPortRange is illegal.',
- ],
- [
- 'errorCode' => 'AttrMismatching.CidrAddressFamily',
- 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.',
- ],
- [
- 'errorCode' => 'IllegalParam.AddressFamily',
- 'errorMessage' => 'AddressFamily is illegal.',
- ],
- [
- 'errorCode' => 'AttrMismatching.SrcCidrDstCidr',
- 'errorMessage' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.',
- ],
- [
- 'errorCode' => 'AttrMismatching.CidrProtocol',
- 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.SrcPortRange',
- 'errorMessage' => 'Current TR version does not support setting source port range.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.DstPortRange',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficMarkingPolicyId',
- 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.',
- ],
+ ['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' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
+ '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'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","errorExample":""},{"type":"xml","example":"<AddTraficMatchRuleToTrafficMarkingPolicyResponse>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n</AddTraficMatchRuleToTrafficMarkingPolicyResponse>","errorExample":""}]',
- '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.'."\n",
- ],
- 'ModifyTrafficMatchRuleToTrafficMarkingPolicy' => [
- 'summary' => 'Modifies the name and description of a traffic classification rule.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteEntries'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '247314',
- 'abilityTreeNodes' => [
- 'FEATUREcbnWVMXRT',
- ],
- 'tenantRelevance' => 'tenant',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'MaxResults',
'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-42665544****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'NextToken',
'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 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',
- ],
+ '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' => 'TrafficMarkingPolicyId',
+ 'name' => 'TransitRouterRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-u9nxup5kww5po8****',
- ],
+ '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' => 'TrafficMatchRuleId',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic classification rule.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-rule-fa9kgq1e90rmhc****'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
- 'name' => 'TrafficMatchRuleName',
+ 'name' => 'TransitRouterAttachmentResourceId',
'in' => 'query',
- 'schema' => [
- '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,
- 'docRequired' => false,
- 'example' => 'nametest',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => 'The ID of the next hop resource.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
- 'name' => 'TrafficMatchRuleDescription',
+ 'name' => 'TransitRouterAttachmentResourceType',
'in' => 'query',
- 'schema' => [
- '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,
- 'docRequired' => false,
- 'example' => 'descriptiontest',
- ],
+ '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 parameters.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '13526224-5780-4426-8ADF-BC8B08700F23',
+ '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.TrafficMatchRuleName',
- 'errorMessage' => 'TrafficMatchRuleName is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrafficMatchRuleDescription',
- 'errorMessage' => 'TrafficMatchRuleDescription is illegal.',
- ],
- [
- 'errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound',
- 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.',
- ],
- [
- 'errorCode' => 'InvalidTrafficMatchRuleId.NotFound',
- 'errorMessage' => 'TrafficMatchRuleId is not found.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ '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'],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"13526224-5780-4426-8ADF-BC8B08700F23\\"\\n}","type":"json"}]',
- 'title' => 'ModifyTrafficMatchRuleToTrafficMarkingPolicy',
- ],
- '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.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTableAssociations'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72304',
- 'abilityTreeNodes' => [
- 'FEATUREcbnWVMXRT',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'MaxResults',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'NextToken',
'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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The token that is used to retrieve the next page of results.', 'type' => 'string', 'required' => false, 'example' => 'dd20****', 'title' => ''],
],
[
- 'name' => 'TransitRouterId',
+ 'name' => 'TransitRouterRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-8vbuqeo5h5pu3m01d****',
- ],
+ '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' => 'TrafficMarkingPolicyName',
+ 'name' => 'TransitRouterAttachmentId',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-attach-vx6iwhjr1x1j78****', 'title' => ''],
],
[
- 'name' => 'TrafficMarkingPolicyDescription',
+ 'name' => 'TransitRouterAttachmentResourceId',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
- 'name' => 'Priority',
+ 'name' => 'TransitRouterAttachmentResourceType',
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '5',
- ],
+ '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' => 'MarkingDscp',
+ 'name' => 'Status',
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '5',
- ],
+ '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' => ''],
],
- [
- 'name' => 'TrafficMatchRules',
- 'in' => 'query',
- 'style' => 'repeatList',
+ ],
+ 'responses' => [
+ 200 => [
'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.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the traffic classification rule.'."\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"
- .'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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"
- .'* If the protocol is **GRE**, the destination port must be **1**.'."\n"
- .'* If the protocol is **SSH**, the destination port must be **22**.'."\n"
- .'* If the protocol is **Telnet**, the destination port must be **23**.'."\n"
- .'* If the protocol is **HTTP**, the destination port must be **80**.'."\n"
- .'* If the protocol is **HTTPS**, the destination port must be **443**.'."\n"
- .'* If the protocol is **MS SQL**, the destination port must be **1443**.'."\n"
- .'* If the protocol is **Oracle**, the destination port must be **1521**.'."\n"
- .'* If the protocol is **Mysql**, the destination port must be **3306**.'."\n"
- .'* If the protocol is **RDP**, the destination port must be **3389**.'."\n"
- .'* If the protocol is **Postgre SQL**, the destination port must be **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' => '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"
- .'* 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"
- .'* 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"
+ '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"
- .'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"
+ .'- **Enabling**: The propagation is being enabled.'."\n"
."\n"
- .'You can enter up to two port numbers. Take note of the following rules:'."\n"
+ .'- **Disabling**: The propagation is being disabled.'."\n"
."\n"
- .'* If you enter only one port number, such as 1, packets whose destination port is 1 meet 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 meet the traffic classification rule.'."\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"
+ .'- **Active**: The propagation is active.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'ResourceType' => ['description' => 'The type of the network instance.'."\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' => '80',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- '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"
- .'* 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"
- .'* 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"
+ .'- **VPC**: a VPC.'."\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"
+ .'- **VBR**: a VBR.'."\n"
."\n"
- .'You can enter up to two port numbers. Take note of the following rules:'."\n"
+ .'- **TR**: a transit router.'."\n"
."\n"
- .'* If you enter only one port number, such as 1, packets whose source port is 1 meet the traffic classification rule.'."\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"
- .'* 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' => '1',
+ .'- **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' => ''],
],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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' => 'nametest',
- ],
- 'AddressFamily' => [
- 'description' => 'The address family. You can set the value to IPv4 or IPv6, or leave the value empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'IPv4',
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 50,
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'description' => 'The response.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'TrafficMarkingPolicyId' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'example' => 'tm-u9nxup5kww5po8****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.Protocol',
- 'errorMessage' => 'Protocol is illegal.',
- ],
- [
- 'errorCode' => 'OperationFailed.TransitRouterType',
- 'errorMessage' => 'Operation failed because The Basic TransitRouter does not support this action.',
- ],
- [
- 'errorCode' => 'IllegalParam.Priority',
- 'errorMessage' => 'Priority is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.MarkingDscp',
- 'errorMessage' => 'MarkingDscp is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.SrcCidr',
- 'errorMessage' => 'SrcCidr is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.DstCidr',
- 'errorMessage' => 'DstCidr is illegal.',
- ],
- [
- 'errorCode' => 'Duplicated.Priority',
- 'errorMessage' => 'The parameter Priority is duplicated.',
- ],
- [
- 'errorCode' => 'Duplicated.MarkingDscp',
- 'errorMessage' => 'The parameter MarkingDscp is duplicated.',
- ],
- [
- 'errorCode' => 'Duplicated.TrafficMatchRules',
- 'errorMessage' => 'The parameter TrafficMatchRules are duplicated.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.TrafficMatchRule',
- 'errorMessage' => 'The maximum number of TrafficMatchRule per Transit Router is exceeded.',
- ],
- [
- 'errorCode' => 'IllegalParam.MatchDscp',
- 'errorMessage' => 'MarkingDscp is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.SrcPortRange',
- 'errorMessage' => 'The specified SrcPortRange is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.DstPortRange',
- 'errorMessage' => 'The specified DstPortRange is illegal.',
- ],
- [
- 'errorCode' => 'AttrMismatching.CidrAddressFamily',
- 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.',
- ],
- [
- 'errorCode' => 'IllegalParam.AddressFamily',
- 'errorMessage' => 'AddressFamily is illegal.',
- ],
- [
- 'errorCode' => 'AttrMismatching.SrcCidrDstCidr',
- 'errorMessage' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.',
- ],
- [
- 'errorCode' => 'AttrMismatching.CidrProtocol',
- 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.DstPortRange',
- 'errorMessage' => 'Current TR version does not support setting destination port range.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.SrcPortRange',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterId',
- 'errorMessage' => 'The parameter TransitrouterId is mandatory.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
+ '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'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TrafficMarkingPolicyId\\": \\"tm-u9nxup5kww5po8****\\",\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTrafficMarkingPolicyResponse>\\n <TrafficMarkingPolicyId>tm-u9nxup5kww5po8****</TrafficMarkingPolicyId>\\n <RequestId>0876E54E-3E36-5C31-89F0-9EE8A9266F9A</RequestId>\\n</CreateTrafficMarkingPolicyResponse>","errorExample":""}]',
- 'title' => 'CreateTrafficMarkingPolicy',
- '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"
- .' * If a traffic marking policy is in the **Active** state, the traffic marking policy is created.'."\n",
- ],
- 'DeleteTrafficMarkingPolicy' => [
- 'summary' => 'Deletes a specified traffic marking policy.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTablePropagations'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'MaxResults',
'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****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'NextToken',
'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',
- ],
+ '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' => 'TrafficMarkingPolicyId',
+ 'name' => 'TransitRouterRouteTableType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-u9nxup5kww5po8****',
- ],
+ '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' => 'Force',
+ 'name' => 'TransitRouterId',
'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',
- ],
- ],
- ],
- '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',
- ],
- ],
- ],
+ 'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-uf654ttymmljlvh2x****', 'title' => ''],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'AssociationExist.TransitQosRuleExist',
- 'errorMessage' => 'The rule with the specified TrafficMarkingPolicy already exists.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrafficMarkingPolicy',
- 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound',
- 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficMarkingPolicyId',
- 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5F1F3A57-A753-572B-8F71-4F964398C566\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTrafficMarkingPolicyResponse>\\n <RequestId>5F1F3A57-A753-572B-8F71-4F964398C566</RequestId>\\n</DeleteTrafficMarkingPolicyResponse>","errorExample":""}]',
- '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",
- ],
- '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',
+ 'name' => 'TransitRouterRouteTableStatus',
'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****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'TransitRouterRouteTableNames',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ 'description' => 'The name of the route table.'."\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',
- ],
- ],
- [
- 'name' => 'TrafficMarkingPolicyId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-u9nxup5kww5po8****',
- ],
- ],
- [
- 'name' => 'TrafficMarkingPolicyName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the traffic marking policy.'."\n"
+ .'You can query multiple route tables at a time. The maximum value of **N** is **20**.'."\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',
+ .'> 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' => 'nametest',
+ 'example' => 'testname',
+ 'maxItems' => 20,
+ 'title' => '',
],
],
[
- 'name' => 'TrafficMarkingPolicyDescription',
+ 'name' => 'TransitRouterRouteTableIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The new description of the traffic marking policy.'."\n"
+ 'description' => 'The ID of the route table.'."\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',
+ .'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' => 'desctest',
+ 'example' => 'vtb-bp1l8awdb4iuo9uwu****',
+ 'maxItems' => 20,
+ 'title' => '',
],
],
[
- 'name' => 'AddTrafficMatchRules',
+ 'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The traffic classification rules to be added to the traffic marking policy.'."\n"
+ 'description' => 'The tag.'."\n"
."\n"
- .'You can add at most 50 traffic classification rules in each call.'."\n",
+ .'You can specify up to 20 tags.',
'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',
- ],
- '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',
- ],
- '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',
- ],
- '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',
- ],
- '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',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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',
- ],
- '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',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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 Testing'."\n",
- ],
- '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',
- ],
+ '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' => 50,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DeleteTrafficMatchRules',
+ 'name' => 'RouteTableOptions',
'in' => 'query',
- 'style' => 'repeatList',
+ 'style' => 'flat',
'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',
- ],
- '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',
- ],
- '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-to-Qingdao CAT'."\n",
- ],
- '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',
- ],
- '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' => '-1',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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',
- ],
- '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',
- ],
- 'required' => false,
- 'maxItems' => 2,
- ],
- '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',
- ],
- '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',
- ],
+ '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,
],
'required' => false,
- 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response that was returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC',
+ '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' => 'InvalidTrafficMarkingPolicyId.NotFound',
- 'errorMessage' => 'TrafficMarkingPolicyId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrafficMarkingPolicy',
- 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.',
- ],
- [
- 'errorCode' => 'Duplicated.AddTrafficMatchRules',
- 'errorMessage' => 'The parameter AddTrafficMatchRules are duplicated. ',
- ],
- [
- 'errorCode' => 'Duplicated.DeleteTrafficMatchRulese',
- 'errorMessage' => 'The parameter DeleteTrafficMatchRules are duplicated. ',
- ],
- [
- 'errorCode' => 'InstanceExist.AddTrafficMatchRules',
- 'errorMessage' => 'The instance already exists.',
- ],
- [
- 'errorCode' => 'Duplicated.AddTrafficMatchRulesAndDeleteTrafficMatchRules',
- 'errorMessage' => 'The same rule in AddTrafficMatchRules and DeleteTrafficMatchRules is not supported..',
- ],
- [
- 'errorCode' => 'IllegalParam.DstPortRange',
- 'errorMessage' => 'The specified DstPortRange is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.SrcPortRange',
- 'errorMessage' => 'The specified SrcPortRange is illegal.',
- ],
- [
- 'errorCode' => 'AttrMismatching.CidrAddressFamily',
- 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.',
- ],
- [
- 'errorCode' => 'IllegalParam.AddressFamily',
- 'errorMessage' => 'AddressFamily is illegal.',
- ],
- [
- 'errorCode' => 'AttrMismatching.SrcCidrDstCidr',
- 'errorMessage' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.',
- ],
- [
- 'errorCode' => 'AttrMismatching.CidrProtocol',
- 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterMode.NeedUpgrade',
- 'errorMessage' => 'TransitRouter need to upgrade.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.SrcPortRange',
- 'errorMessage' => 'Current TR version does not support setting source port range.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.DstPortRange',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'IllegalParam.DstCidr',
- 'errorMessage' => 'DstCidr is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.SrcCidr',
- 'errorMessage' => 'SrcCidr is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficMarkingPolicyId',
- 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidDeleteTrafficMatchRules.NotFound',
- 'errorMessage' => 'The specified DeleteTrafficMatchRules are not found.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
+ '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'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTrafficMarkingPolicyAttributeResponse>\\n <RequestId>60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC</RequestId>\\n</UpdateTrafficMarkingPolicyAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateTrafficMarkingPolicyAttribute',
- ],
- 'ListTrafficMarkingPolicies' => [
- 'summary' => 'Queries the details about a traffic marking policy, such as the status and priority.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTables'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -25227,723 +17981,603 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72388',
- 'abilityTreeNodes' => [
- 'FEATUREcbnWVMXRT',
- ],
- ],
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'TransitRouterId',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'tr-bp1rmwxnk221e3fas****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
- 'name' => 'TrafficMarkingPolicyId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tm-iz5egnyitxiroq****',
- ],
+ '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' => 'TrafficMarkingPolicyName',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the traffic marking policy.'."\n"
- ."\n"
- .'The name must be 1 to 128 characters in length, and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ 'schema' => ['description' => 'The ID of the VBR connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-oyf70wfuorwx87****', 'title' => ''],
],
[
- 'name' => 'TrafficMarkingPolicyDescription',
+ 'name' => 'TransitRouterId',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ '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. Valid values: **1** to **100**. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ '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 token that determines the start point of the query. Valid values:'."\n"
+ 'description' => 'The tag.'."\n"
."\n"
- .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n"
- .'* If a next query is to be sent, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the query.'."\n"
- ."\n"
- .'* If **NextToken** was not returned in the previous query, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '699989E4-64A0-5F78-8B93-CDB32D98971F',
- ],
- 'TotalCount' => [
- 'description' => 'The number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TrafficMarkingPolicies' => [
- 'description' => 'The information about the traffic marking policy.'."\n",
+ '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' => [
- 'description' => 'The information about the traffic marking policy.'."\n",
'type' => 'object',
'properties' => [
- 'TrafficMarkingPolicyStatus' => [
- 'description' => 'The status of the traffic marking policy. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The policy is being created.'."\n"
- .'* **Active**: The policy is available.'."\n"
- .'* **Modifying**: The policy is being modified.'."\n"
- .'* **Deleting**: The policy is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Creating',
- ],
- 'TrafficMarkingPolicyId' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'example' => 'tm-iz5egnyitxiroq****',
- ],
- 'MarkingDscp' => [
- 'description' => 'The Differentiated Service Code Point (DSCP) value of the traffic marking policy.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'TrafficMarkingPolicyName' => [
- 'description' => 'The name of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'Priority' => [
- 'description' => 'The priority of the traffic marking policy.'."\n"
- ."\n"
- .'A lower value indicates a higher priority.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'TrafficMarkingPolicyDescription' => [
- 'description' => 'The description of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'TrafficMatchRules' => [
- 'description' => 'The traffic classification rules.'."\n",
+ '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' => [
- 'description' => 'The information about the traffic classification rule.'."\n",
'type' => 'object',
'properties' => [
- 'MatchDscp' => [
- 'description' => 'The DSCP value used to match data packets.'."\n"
- ."\n"
- .'> If the value of the **MatchDscp** parameter is -1, data packets are considered a match regardless of the DSCP value.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '6',
- ],
- 'DstCidr' => [
- 'description' => 'The destination CIDR block of packets. IPv4 and IPv6 addresses are supported.'."\n",
- 'type' => 'string',
- 'example' => '192.168.120.0/24',
- ],
- 'TrafficMatchRuleDescription' => [
- 'description' => 'The description of the traffic classification rule.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'Protocol' => [
- 'description' => 'The protocol that is used to match packets.'."\n"
- ."\n"
- .'> Traffic marking policies support multiple protocols. For more information, see the documentation of CEN.'."\n",
- 'type' => 'string',
- 'example' => 'HTTP',
- ],
- 'TrafficMatchRuleId' => [
- 'description' => 'The ID of the traffic classification rule.'."\n",
- 'type' => 'string',
- 'example' => 'tm-rule-fa9kgq1e90rmhc****',
- ],
- 'SrcCidr' => [
- 'description' => 'The source CIDR block of packets. IPv6 and IPv4 addresses are supported.'."\n",
- 'type' => 'string',
- 'example' => '192.168.10.0/24',
- ],
- 'TrafficMatchRuleName' => [
- 'description' => 'The name of the traffic classification rule.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'TrafficMatchRuleStatus' => [
- 'description' => 'The status of the traffic classification rule. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The rule is being created.'."\n"
- .'* **Active**: The rule is available.'."\n"
- .'* **Deleting**: The rule is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Creating',
- ],
- 'AddressFamily' => [
- 'description' => 'The address family. You can set the value to IPv4 or IPv6, or leave the value empty.'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'DstPortRange' => [
- 'description' => 'The destination port range used to match data packets.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The destination port range used to match data packets.'."\n"
- ."\n"
- .'Two destination port numbers are returned.'."\n"
- ."\n"
- .'* If the returned destination ports are the same, such as 80 and 80, the traffic classification rule matches packets whose destination port is port 80.'."\n"
- ."\n"
- .' If the returned destination ports are both -1, packets are considered a match regardless of the destination port.'."\n"
- ."\n"
- .'* If the returned destination ports are different, such as 1 and 200, the traffic classification rule matches packets whose destination ports are from 1 to 200.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '80,80',
- ],
- ],
- 'SrcPortRange' => [
- 'description' => 'The source port range used to match data packets.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The source port range used to match data packets.'."\n"
- ."\n"
- .'Two source port numbers are returned.'."\n"
- ."\n"
- .'* If the returned source ports are the same, such as 80 and 80, the traffic classification rule matches packets whose source port is 80.'."\n"
- ."\n"
- .' If the returned source ports are both -1, packets are considered a match regardless of the source port.'."\n"
- ."\n"
- .'* If the returned source ports are different, such as 1 and 200, the traffic classification rule matches packets whose source ports are from 1 to 200.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1,200',
- ],
- ],
+ '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' => '',
],
- 'TransitRouterId' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-ccni***',
- ],
+ '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' => 'MissingParam.TransitRouterIdOrTrafficMarkingPolicyId',
- 'errorMessage' => 'Either TransitRouterId or TrafficMarkingPolicyId must be specified.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is invalid.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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',
- ],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTrafficMarkingPoliciesResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>699989E4-64A0-5F78-8B93-CDB32D98971F</RequestId>\\n <TotalCount>6</TotalCount>\\n <MaxResults>20</MaxResults>\\n <TrafficMarkingPolicies>\\n <TrafficMarkingPolicyStatus>Creating</TrafficMarkingPolicyStatus>\\n <TrafficMarkingPolicyId>tm-iz5egnyitxiroq****</TrafficMarkingPolicyId>\\n <MarkingDscp>5</MarkingDscp>\\n <TrafficMarkingPolicyName>nametest</TrafficMarkingPolicyName>\\n <Priority>5</Priority>\\n <TrafficMarkingPolicyDescription>desctest</TrafficMarkingPolicyDescription>\\n <TrafficMatchRules>\\n <MatchDscp>6</MatchDscp>\\n <DstCidr>192.168.120.0/24</DstCidr>\\n <TrafficMatchRuleDescription>desctest</TrafficMatchRuleDescription>\\n <Protocol>HTTP</Protocol>\\n <TrafficMatchRuleId>tm-rule-fa9kgq1e90rmhc****</TrafficMatchRuleId>\\n <SrcCidr>192.168.10.0/24</SrcCidr>\\n <TrafficMatchRuleName>nametest</TrafficMatchRuleName>\\n <TrafficMatchRuleStatus>Creating</TrafficMatchRuleStatus>\\n <DstPortRange>80</DstPortRange>\\n <DstPortRange>80</DstPortRange>\\n <SrcPortRange>1</SrcPortRange>\\n <SrcPortRange>200</SrcPortRange>\\n </TrafficMatchRules>\\n </TrafficMarkingPolicies>\\n</ListTrafficMarkingPoliciesResponse>","errorExample":""}]',
- 'title' => 'ListTrafficMarkingPolicies',
- 'description' => 'Before you call the **ListTrafficMarkingPolicies** operation, take note of the following limits:'."\n"
+ '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"
- .'* Specify at least one of the **TransitRouterId** and **TrafficMarkingPolicyId** parameters.'."\n"
- .'* If you do not specify a traffic marking policy ID (**TrafficMarkingPolicyId**), the operation queries only the information about the traffic marking policy based on the **TransitRouterId**, **TrafficMarkingPolicyName**, and **TrafficMarkingPolicyDescription** parameters. The **TrafficMatchRules** parameter that contains the information about the traffic classification rules is not returned.'."\n"
- .'* If you specify a traffic marking policy ID (**TrafficMarkingPolicyId**), the operation queries the information about the traffic marking policy and traffic classification rules. The **TrafficMatchRules** parameter is returned in the response. If the value of the **TrafficMatchRules** parameter is an empty array, the traffic marking policy does not contain a traffic classification rule.'."\n",
- ],
- 'RemoveTraficMatchRuleFromTrafficMarkingPolicy' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'- 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'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterVbrAttachments'],
],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- '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****',
- ],
- ],
- [
- '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',
- ],
- ],
+ 'ramActions' => [
[
- 'name' => 'TrafficMarkingPolicyId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-d33hdczo3qo8ta****',
- ],
- ],
- [
- '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****',
+ '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}'],
],
- 'required' => false,
- 'maxItems' => 20,
],
],
],
- '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',
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'IncorrectStatus.TrafficMarkingPolicy',
- 'errorMessage' => 'TrafficMarkingPolicy status is invalid.',
- ],
- [
- 'errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound',
- 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrafficMarkingRuleIds',
- 'errorMessage' => 'The specified TrafficMarkingRuleIds is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'substitutions' => [
- 'Cbn::2017-09-12::RemoveTrafficMatchRuleFromTrafficMarkingPolicy',
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveTraficMatchRuleFromTrafficMarkingPolicyResponse>\\n <RequestId>6DF9A765-BCD2-5C7E-8C32-C35C8A361A39</RequestId>\\n</RemoveTraficMatchRuleFromTrafficMarkingPolicyResponse>","errorExample":""}]',
- '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",
+ '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"}]',
],
- 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy' => [
- 'summary' => 'Deletes specified traffic classification rules from a traffic marking policy.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListTransitRouterVpcAttachments' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '72401',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'RegionId',
'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',
- ],
+ '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' => 'TrafficMarkingPolicyId',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the traffic marking policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tm-d33hdczo3qo8ta****',
- ],
+ 'schema' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
- 'name' => 'TrafficMarkRuleIds',
+ '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 ID of the traffic classification rule.'."\n",
+ 'description' => 'The tags.'."\n"
+ ."\n"
+ .'You can specify up to 20 tags.',
'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',
+ '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,
- 'example' => 'tm-rule-15jtgapsat62r9****',
+ '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 response.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39',
+ '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' => 'IncorrectStatus.TrafficMarkingPolicy',
- 'errorMessage' => 'TrafficMarkingPolicy status is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrafficMarkingRuleIds',
- 'errorMessage' => 'The specified TrafficMarkingRuleIds is invalid.',
- ],
- [
- 'errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound',
- 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficMarkingPolicyId',
- 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveTrafficMatchRuleFromTrafficMarkingPolicyResponse>\\n <RequestId>6DF9A765-BCD2-5C7E-8C32-C35C8A361A39</RequestId>\\n</RemoveTrafficMatchRuleFromTrafficMarkingPolicyResponse>","errorExample":""}]',
- '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"
+ '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"
- .' If you want to delete a traffic classification rule, you must specify the rule ID before you call this operation.'."\n"
+ .'- Specify the ID of an Enterprise Edition transit router to query all its VPC connections.'."\n"
."\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"
+ .'- 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"
- .' * 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.'."\n",
- ],
- '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',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72301',
- 'abilityTreeNodes' => [
- 'FEATUREcbnUX9TH2',
- ],
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '138540',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-rsgxs8ng2awen2****', '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"
- .'- **false** (default): performs a dry run and sends the request.',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'QosQueueName',
+ 'name' => 'RegionId',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ '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' => 'QosQueueDescription',
+ 'name' => 'TransitRouterAttachmentId',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ 'schema' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-a6p8voaodog5c0****', 'title' => ''],
],
[
- 'name' => 'RemainBandwidthPercent',
+ 'name' => 'TransitRouterId',
'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"
- .'- 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,
- 'example' => '20',
- 'pattern' => '^\\d+$',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-p0wm740vjnbaprv0m****', 'title' => ''],
],
[
- 'name' => 'Bandwidth',
+ 'name' => 'MaxResults',
'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"
- .'- 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',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'TrafficQosPolicyId',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the QoS policy.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'qos-qdvybn468kaoxx****',
- ],
+ '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' => 'Dscps',
+ 'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The differentiated services code point (DSCP) value that matches the current queue.'."\n"
+ 'description' => 'The tags of the CEN instance.'."\n"
."\n"
- .'You can specify at most 20 DSCP values for a queue in each call. Separate DSCP values with commas (,).',
+ .'You can query a maximum of 20 tags at a time.',
'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',
+ '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,
- 'example' => '5',
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'required' => true,
+ 'required' => false,
'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -25953,661 +18587,722 @@
'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'QosQueueId' => [
- 'description' => 'The ID of the queue.',
- 'type' => 'string',
- 'example' => 'qos-queue-irqhi8k5fdyuu5****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.',
- 'type' => 'string',
- 'example' => '845F66F6-5C27-53A1-9428-B859086237B2',
+ '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.RemainBandwidthPercent',
- 'errorMessage' => 'The specified RemainBandwidthPercent is invalid.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrafficQosPolicy',
- 'errorMessage' => 'The status of TrafficQosPolicy is incorrect.',
- ],
- [
- 'errorCode' => 'Duplicated.Dscps',
- 'errorMessage' => 'The parameter Dscps are duplicated.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'MissingParam.Bandwidth',
- 'errorMessage' => 'The parameter Bandwidth is mandatory.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthGuaranteeModeMismatch',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'MissingParam.RemainBandwidthPercent',
- 'errorMessage' => 'RemainBandwidthPercent is missing.',
- ],
- [
- 'errorCode' => 'IllegalParam.Bandwidth',
- 'errorMessage' => 'Bandwidth is illegal',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficQosPolicyId',
- 'errorMessage' => 'The parameter TrafficQosPolicyId is mandatory.',
- ],
- [
- 'errorCode' => 'Forbidden.CDTServiceExpired',
- 'errorMessage' => 'The CDT service is out of service.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'InvalidTrafficQosPolicyId.NotFound',
- 'errorMessage' => 'The specified TrafficQosPolicyId is not found.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListCenInterRegionTrafficQosPolicies',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"QosQueueId\\": \\"qos-queue-irqhi8k5fdyuu5****\\",\\n \\"RequestId\\": \\"845F66F6-5C27-53A1-9428-B859086237B2\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCenInterRegionTrafficQosQueueResponse>\\n <QosQueueId>qos-queue-irqhi8k5fdyuu5****</QosQueueId>\\n <RequestId>845F66F6-5C27-53A1-9428-B859086237B2</RequestId>\\n</CreateCenInterRegionTrafficQosQueueResponse>","errorExample":""}]',
- '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"
+ 'title' => 'ListTransitRouterVpnAttachments',
+ 'description' => 'The ListTransitRouterVpnAttachments operation supports the following query methods:'."\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"
- .'- If a QoS policy is in the **Active** state, the queue is created.',
- ],
- 'CreateCenInterRegionTrafficQosPolicy' => [
- 'summary' => 'Creates a quality of service (QoS) policy for an inter-region connection on an Enterprise Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72300',
- 'abilityTreeNodes' => [
- 'FEATUREcbnUX9TH2',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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-426655****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageSize',
'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"
- .'* **false**: sends the API request. If the request passes the precheck, the QoS policy is created. This is the default value.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-8vbuqeo5h5pu3m01d****',
- ],
+ 'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-uf654ttymmljlvh2x****', 'title' => ''],
],
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the inter-region connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-attach-r6g0m3epjehw57****',
- ],
+ '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' => 'TrafficQosPolicyName',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The name of the QoS policy.'."\n"
+ 'description' => 'The tags.'."\n"
."\n"
- .'The name can be empty or 1 to 128 characters in length, and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'nametest',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'TrafficQosPolicyDescription',
+ 'name' => 'Status',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
- ],
+ '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' => 'BandwidthGuaranteeMode',
+ 'name' => 'Type',
'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"
- .'* **byBandwidthPercent** (default): allocates a bandwidth percentage for the OoS queue.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'byBandwidthPercent',
- ],
+ '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' => 'TrafficQosQueues',
+ '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 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.'."\n",
+ 'description' => 'The feature to be filtered.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the QoS queue.'."\n",
+ 'description' => 'The feature to be filtered.',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
- '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%.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- 'pattern' => '^\\d+$',
- ],
- '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"
+ '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"
- .'> 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- 'Dscps' => [
- 'description' => 'The Differentiated Services Code Point (DSCP) value that matches the current queue.'."\n"
+ .'- **Enabled**: Multicast is supported.'."\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 (,).'."\n",
+ .'- **Disabled**: Multicast is not supported.',
'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 (,).'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '5',
- ],
- 'required' => false,
- 'maxItems' => 60,
- ],
- 'QosQueueDescription' => [
- 'description' => 'The description of the current queue.'."\n"
+ '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"
- .'Each QoS policy supports at most 10 queues. You can specify a description for each queue.'."\n"
+ .'- **Enabled**: Multicast is supported.'."\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',
+ .'- **Disabled**: Multicast is not supported.', 'type' => 'string', 'required' => false, 'example' => 'Enabled', 'title' => ''],
'required' => false,
- 'example' => 'desctest',
+ 'maxItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
- 'maxItems' => 11,
+ 'maxItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'TrafficQosPolicyId' => [
- 'description' => 'The ID of the QoS policy.'."\n",
- 'type' => 'string',
- 'example' => 'qos-eczzew0v1kzrb5****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39',
+ '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' => 'AssociationExist.TrafficQos',
- 'errorMessage' => 'The traffic qos with the specified attachment already exists.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'The specified TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterAttachmentId',
- 'errorMessage' => 'TransitRouterAttachmentId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParamSize.TrafficQosQueues',
- 'errorMessage' => 'The queue size included in the traffic QoS policy exceeds the limit.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthGuaranteeModeMismatch',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthGuaranteeMode',
- 'errorMessage' => 'The input bandwidth guarantee type is not valid.',
- ],
- [
- 'errorCode' => 'MissingParam.RemainBandwidthPercent',
- 'errorMessage' => 'RemainBandwidthPercent is missing.',
- ],
- [
- 'errorCode' => 'MissingParam.Bandwidth',
- 'errorMessage' => 'The parameter Bandwidth is mandatory.',
- ],
- [
- 'errorCode' => 'IllegalParam.RemainBandwidthPercent',
- 'errorMessage' => 'The specified RemainBandwidthPercent is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Bandwidth',
- 'errorMessage' => 'Bandwidth is illegal',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthPackageStatus',
- 'errorMessage' => 'The status of the bandwidth package is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterAttachment',
- 'errorMessage' => 'TransitRouterAttachmentId status is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterId',
- 'errorMessage' => 'The parameter TransitrouterId is mandatory.',
- ],
- [
- 'errorCode' => 'MissingParam.TransitRouterAttachmentId',
- 'errorMessage' => 'The parameter TransitRouterAttachmentId is Missing.',
- ],
- [
- 'errorCode' => 'Forbidden.CDTServiceExpired',
- 'errorMessage' => 'The CDT service is out of service.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.QosPolicyForLowLatencyLinkType',
- 'errorMessage' => 'QoS Policy is not supported for Low Latency LinkType.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListCenInterRegionTrafficQosPolicies',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TrafficQosPolicyId\\": \\"qos-eczzew0v1kzrb5****\\",\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","type":"json"}]',
- '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"
+ '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"
- .'* **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"
+ .'- If you do not specify **RegionId** or **TransitRouterId**, all transit routers in the CEN instance are queried.'."\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"
- .' * If the QoS policy is in the **Active** state, the QoS policy is created.'."\n"
+ .'- If you specify only **RegionId**, the transit routers in the specified region are queried.'."\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"
- .'* A traffic marking policy is created. For more information, see [CreateTrafficMarkingPolicy](~~419025~~).'."\n",
- ],
- 'DeleteCenInterRegionTrafficQosQueue' => [
- 'summary' => 'Deletes a queue from a quality of service (QoS) policy.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'Name',
'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',
- ],
+ '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' => 'QosQueueId',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the queue.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'qos-queue-nv2vfzqkewhk4t****',
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '13526224-5780-4426-8BDF-BC8B08700F22', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTrafficQosQueueId.NotFound',
- 'errorMessage' => 'The specified TrafficQosQueueId is not found. ',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrafficQosPolicy',
- 'errorMessage' => 'The status of TrafficQosPolicy is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficQosPolicyQueueId',
- 'errorMessage' => 'The parameter TrafficQosPolicyQueueId is mandatory.',
- ],
- [
- 'errorCode' => 'Forbidden.CDTServiceExpired',
- 'errorMessage' => 'The CDT service is out of service.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCenInterRegionTrafficQosQueueResponse>\\n <RequestId>6DF9A765-BCD2-5C7E-8C32-C35C8A361A39</RequestId>\\n</DeleteCenInterRegionTrafficQosQueueResponse>","errorExample":""}]',
- 'title' => 'DeleteCenInterRegionTrafficQosQueue',
- 'description' => '* You cannot delete the default queue.'."\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.'."\n",
- ],
- 'DeleteCenInterRegionTrafficQosPolicy' => [
- 'summary' => 'Deletes a quality of service (QoS) policy.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'Name',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'Description',
'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"
- .'* **false** (default): performs a dry run and sends the request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'TrafficQosPolicyId',
+ 'name' => 'CenBandwidthPackageId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the QoS policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'qos-eczzew0v1kzrb5****',
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenbwp-4c2zaavbvh5fx****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '13526224-5780-4426-8ADF-BC8B08700F23', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'AssociationExist.TransitQosQueueExist',
- 'errorMessage' => 'The qos queue with the specified TrafficQosPolicyId exists.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'Forbidden.CDTServiceExpired',
- 'errorMessage' => 'The CDT service is out of service.',
- ],
+ ['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' => 'InvalidTransitQosId.NotFound',
- 'errorMessage' => 'The specified TrafficQosPolicyId is not found.',
+ ],
+ '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}'],
+ ],
],
],
],
- 'staticInfo' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCenInterRegionTrafficQosPolicyResponse>\\n <RequestId>6DF9A765-BCD2-5C7E-8C32-C35C8A361A39</RequestId>\\n</DeleteCenInterRegionTrafficQosPolicyResponse>","errorExample":""}]',
- 'title' => 'DeleteCenInterRegionTrafficQosPolicy',
- '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"
- .' * If a QoS policy cannot be found, the QoS policy is deleted.'."\n",
+ 'translator' => 'manual',
],
- 'UpdateCenInterRegionTrafficQosQueueAttribute' => [
- 'summary' => 'Modifies the name, description, inter-region bandwidth, and Differentiated Services Code Point (DSCP) value of a quality of service (QoS) queue.',
- 'methods' => [
- 'post',
- 'get',
+ 'ModifyCenBandwidthPackageSpec' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -26619,888 +19314,746 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72430',
- 'abilityTreeNodes' => [
- 'FEATUREcbnUX9TH2',
- ],
+ 'abilityTreeCode' => '72411',
+ 'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'CenRegionId',
'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"
- .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'QosQueueId',
+ '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 queue ID.'."\n",
+ '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,
- 'example' => 'qos-queue-nv2vfzqkewhk4t****',
+ 'enum' => ['Permit', 'Deny'],
+ 'example' => 'Permit',
+ 'title' => '',
],
],
[
- 'name' => 'QosQueueName',
+ '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 new name of the queue.'."\n"
+ '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"
- .'The name must be 1 to 128 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty.'."\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,
- 'example' => 'nametest',
+ 'enum' => ['Include', 'Complete'],
+ 'example' => 'Include ',
+ 'title' => '',
],
],
[
- 'name' => 'QosQueueDescription',
+ 'name' => 'AsPathMatchMode',
'in' => 'query',
'schema' => [
- 'description' => 'The new description of the queue.'."\n"
+ '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"
- .'The description must be 1 to 256 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty.'."\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,
- 'example' => 'desctest',
+ 'enum' => ['Include', 'Complete'],
+ 'example' => 'Include',
+ 'title' => '',
],
],
[
- 'name' => 'RemainBandwidthPercent',
+ 'name' => 'CommunityMatchMode',
'in' => 'query',
'schema' => [
- 'description' => 'The percentage of bandwidth that can be allocated to the current queue.'."\n"
+ '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"
- .'Enter a number. You do not need to enter a percent sign (%).'."\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,
- 'example' => '1',
- 'pattern' => '^\\d+$',
+ 'enum' => ['Include', 'Complete', 'Contain'],
+ 'example' => 'Include',
+ 'title' => '',
],
],
[
- 'name' => 'Bandwidth',
+ 'name' => 'CommunityOperateMode',
'in' => 'query',
'schema' => [
- 'description' => 'The absolute bandwidth value that can be allocated to the current queue. Unit: Mbit/s.'."\n"
+ 'description' => 'The action to be performed on the community. Valid values:'."\n"
+ ."\n"
+ .'- **Additive**: adds the community to the route.'."\n"
."\n"
- .'Enter a number. You do not need to enter a unit.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
+ .'- **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,
- 'example' => '1',
+ 'enum' => ['Additive', 'Replace'],
+ 'example' => 'Additive',
+ 'title' => '',
],
],
[
- 'name' => 'Dscps',
+ 'name' => 'Preference',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The differentiated services code point (DSCP) value used to match packets in the queue.'."\n",
- '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.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '5',
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => ''],
],
- ],
- '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',
- ],
- ],
- ],
+ [
+ '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' => ''],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'IncorrectStatus.TrafficQosPolicy',
- 'errorMessage' => 'The status of TrafficQosPolicy is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidTrafficQosQueueId.NotFound',
- 'errorMessage' => 'The instance of TrafficQosQueueId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.BandwidthGuaranteeModeMismatch',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'IllegalParam.Bandwidth',
- 'errorMessage' => 'Bandwidth is illegal',
- ],
- [
- 'errorCode' => 'IllegalParam.RemainBandwidthPercent',
- 'errorMessage' => 'The specified RemainBandwidthPercent is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficQosPolicyQueueId',
- 'errorMessage' => 'The parameter TrafficQosPolicyQueueId is mandatory.',
- ],
+ [
+ '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' => ''],
],
- ],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListCenInterRegionTrafficQosQueues',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateCenInterRegionTrafficQosQueueAttributeResponse>\\n <RequestId>6DF9A765-BCD2-5C7E-8C32-C35C8A361A39</RequestId>\\n</UpdateCenInterRegionTrafficQosQueueAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateCenInterRegionTrafficQosQueueAttribute',
- ],
- 'UpdateCenInterRegionTrafficQosPolicyAttribute' => [
- 'summary' => 'Modifies the name and description of a quality of service (QoS) policy.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ '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' => ''],
],
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
[
- 'name' => 'ClientToken',
+ '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 client token that is used to ensure the idempotence of the request.'."\n"
+ 'description' => 'The IDs of the source network instances to which the routes belong. The following network instance types are supported:'."\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.'."\n",
- 'type' => 'string',
+ .'- 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' => '123e4567-e89b-12d3-a456-426655****',
+ 'example' => 'vpc-afsfdf5435vcvc****',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'DestinationInstanceIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ '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"
- .'* **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"
- .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the operation is performed.'."\n",
- 'type' => 'boolean',
+ .'- 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' => 'false',
+ 'example' => 'vpc-avcdsg34ds****',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'TrafficQosPolicyId',
+ 'name' => 'SourceRouteTableIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the QoS policy.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'qos-eczzew0v1kzrb5****',
+ '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' => 'TrafficQosPolicyName',
+ 'name' => 'DestinationRouteTableIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The new name of the QoS policy.'."\n"
+ '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 name must be 1 to 128 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty.'."\n",
- 'type' => 'string',
+ .'> 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' => 'nametest',
+ 'example' => 'vtb-adfg53c322v****',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'TrafficQosPolicyDescription',
+ 'name' => 'SourceRegionIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The new description of the QoS policy.'."\n"
+ 'description' => 'The IDs of the source regions to which the routes belong. You can enter at most 64 region IDs.'."\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.'."\n",
- 'type' => 'string',
+ .'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' => 'desctest',
+ 'example' => 'cn-beijing',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
- ],
- 'responses' => [
- 200 => [
+ [
+ 'name' => 'SourceChildInstanceTypes',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The returned results.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '5B8465FF-E697-5D3D-AAD5-0B4EEADFDB27',
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidTrafficQosPolicyId.NotFound',
- 'errorMessage' => 'The specified TrafficQosPolicyId is not found.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'MissingParam.TrafficQosPolicyId',
- 'errorMessage' => 'The parameter TrafficQosPolicyId is mandatory.',
- ],
- [
- 'errorCode' => 'Forbidden.CDTServiceExpired',
- 'errorMessage' => 'The CDT service is out of service.',
+ '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' => '',
],
],
- ],
- 'staticInfo' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5B8465FF-E697-5D3D-AAD5-0B4EEADFDB27\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateCenInterRegionTrafficQosPolicyAttributeResponse>\\n <RequestId>5B8465FF-E697-5D3D-AAD5-0B4EEADFDB27</RequestId>\\n</UpdateCenInterRegionTrafficQosPolicyAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateCenInterRegionTrafficQosPolicyAttribute',
- ],
- 'ListCenInterRegionTrafficQosPolicies' => [
- 'summary' => 'Queries quality of service (QoS) policies.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72383',
- 'abilityTreeNodes' => [
- 'FEATUREcbnUX9TH2',
+ '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' => '',
+ ],
],
- ],
- 'parameters' => [
[
- 'name' => 'TransitRouterId',
+ 'name' => 'DestinationCidrBlocks',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
+ '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,
- 'docRequired' => false,
- 'example' => 'tr-bp1rmwxnk221e3fas****',
+ 'example' => '10.10.10.0/24',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'RouteTypes',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the inter-region connection.'."\n",
- 'type' => 'string',
+ '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,
- 'docRequired' => false,
- 'example' => 'tr-attach-r6g0m3epjehw57****',
+ 'example' => 'System',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'TrafficQosPolicyId',
+ 'name' => 'MatchAsns',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the QoS policy.'."\n",
- 'type' => 'string',
+ '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' => 'qos-rnghap5gc8155x****',
+ 'example' => '65501',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'TrafficQosPolicyName',
+ 'name' => 'MatchCommunitySet',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The name of the QoS policy.'."\n"
+ 'description' => 'The community against which routes are matched.'."\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.'."\n",
- 'type' => 'string',
+ .'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' => 'nametest',
+ 'example' => '65501:1',
+ 'maxItems' => 64,
+ 'title' => '',
],
],
[
- 'name' => 'TrafficQosPolicyDescription',
+ 'name' => 'OperateCommunitySet',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The description of the QoS policy.'."\n"
+ 'description' => 'The community set on which actions are performed.'."\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.'."\n",
- 'type' => 'string',
+ .'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' => 'desctest',
+ 'example' => '65501:1',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'PrependAsPath',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ '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' => '20',
+ 'example' => '65501',
+ 'maxItems' => 32,
+ 'title' => '',
],
],
[
- 'name' => 'NextToken',
+ 'name' => 'DestinationRegionIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n"
- .'* If a next query is to be sent, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
+ '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,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'maxItems' => 64,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the query.'."\n"
- ."\n"
- .'* If **NextToken** was not returned in the previous query, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '113BFD47-63DF-5D9D-972C-033FB9C360CD',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'TrafficQosPolicies' => [
- 'description' => 'A list of QoS policies.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the QoS policy.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'TrafficQosPolicyName' => [
- 'description' => 'The name of the QoS policy.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'TrafficQosPolicyStatus' => [
- 'description' => 'The status of the QoS policy.'."\n"
- ."\n"
- .'* **Creating**: The QoS policy is being created.'."\n"
- .'* **Active**: The QoS policy is available.'."\n"
- .'* **Modifying**: The policy is being modified.'."\n"
- .'* **Deleting**: The QoS policy is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Creating',
- ],
- 'TrafficQosPolicyId' => [
- 'description' => 'The ID of the QoS policy.'."\n",
- 'type' => 'string',
- 'example' => 'qos-rnghap5gc8155x****',
- ],
- 'TrafficQosPolicyDescription' => [
- 'description' => 'The description of the QoS policy.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'BandwidthGuaranteeMode' => [
- 'description' => 'The guaranteed bandwidth mode.'."\n"
- ."\n"
- .'* **byBandwidth**: allocates absolute bandwidth values to QoS queues.'."\n"
- .'* **byBandwidthPercent**: assigns bandwidth percentages to QoS queues.'."\n",
- 'type' => 'string',
- 'example' => 'byBandwidthPercent',
- ],
- 'TrafficQosQueues' => [
- 'description' => 'A list of queues.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the queue.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'QosQueueName' => [
- 'description' => 'The name of the queue.'."\n",
- 'type' => 'string',
- 'example' => 'namtest',
- ],
- 'RemainBandwidthPercent' => [
- 'description' => 'If the QoS queues are assigned bandwidth percentages, this parameter indicates the percentage of bandwidth that is allocated to the queue.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Bandwidth' => [
- 'description' => 'If the QoS queues are assigned absolute bandwidth values, this parameter indicates the absolute bandwidth value that is allocated to the queue.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'QosQueueId' => [
- 'description' => 'The queue ID.'."\n",
- 'type' => 'string',
- 'example' => 'qos-queue-njcrmr9fiu1jii****',
- ],
- 'QosQueueDescription' => [
- 'description' => 'The description of the queue.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'Dscps' => [
- 'description' => 'The differentiated services code point (DSCP) value that is used to match packets.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The DSCP value that is used to match packets.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- ],
- 'EffectiveBandwidth' => [
- 'description' => 'The actual bandwidth value of the current queue.'."\n",
- 'type' => 'string',
- 'example' => '1.35',
- ],
- ],
- ],
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-2ze4ta4v32umj0rb***',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-q7ct7c06jpw***',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457 ', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MissingParam.TransitRouterIdOrTrafficQosPolicyId',
- 'errorMessage' => 'Either TransitRouterId or TrafficQosPolicyId must be specified. ',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '云企业网'],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'cen:ModifyCenRouteMap',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListCenInterRegionTrafficQosPoliciesResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>113BFD47-63DF-5D9D-972C-033FB9C360CD</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>20</MaxResults>\\n <TrafficQosPolicies>\\n <TrafficQosPolicyName>nametest</TrafficQosPolicyName>\\n <TrafficQosPolicyStatus>Creating</TrafficQosPolicyStatus>\\n <TrafficQosPolicyId>qos-rnghap5gc8155x****</TrafficQosPolicyId>\\n <TrafficQosPolicyDescription>desctest</TrafficQosPolicyDescription>\\n <TrafficQosQueues>\\n <QosQueueName>namtest</QosQueueName>\\n <RemainBandwidthPercent>1</RemainBandwidthPercent>\\n <QosQueueId>qos-queue-njcrmr9fiu1jii****</QosQueueId>\\n <QosQueueDescription>desctest</QosQueueDescription>\\n <Dscps>5</Dscps>\\n </TrafficQosQueues>\\n </TrafficQosPolicies>\\n</ListCenInterRegionTrafficQosPoliciesResponse>","errorExample":""}]',
- 'title' => 'ListCenInterRegionTrafficQosPolicies',
- 'description' => 'Before you call the **ListCenInterRegionTrafficQosPolicies** operation, take note of the following information:'."\n"
- ."\n"
- .'* You must specify at least one of the **TransitRouterId** and **TrafficQosPolicyId** parameters.'."\n"
- .'* If you do not specify a QoS policy ID (**TrafficQosPolicyId**), the system returns information based on the values of the **TransitRouterId**, **TransitRouterAttachmentId**, **TrafficQosPolicyName**, and **TrafficQosPolicyDescription** parameters. The information about the queues in the QoS policies is not returned. In this case, the **TrafficQosQueues** parameter is not included in the response.'."\n"
- .'* If you specify a QoS policy ID (**TrafficQosPolicyId**), the system returns the information about the QoS policy and queues in the QoS policy. In this case, the **TrafficQosQueues** parameter is included in the response. If the value of the **TrafficQosQueues** parameter is an empty string, it indicates that the QoS policy contains only the default queue.'."\n"
- .'* Make sure that all the request parameters are valid. If a request parameter is invalid, a request ID is returned but the information about the QoS policy is not returned.'."\n",
],
- 'ListCenInterRegionTrafficQosQueues' => [
- 'summary' => 'Queries the information about quality of service (QoS) queues.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyFlowLogAttribute' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '160569',
- 'abilityTreeNodes' => [
- 'FEATUREcbnUX9TH2',
- ],
+ 'abilityTreeCode' => '72413',
+ 'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06'],
],
'parameters' => [
[
- 'name' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1rmwxnk221e3fas****',
- ],
- ],
- [
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the inter-region connection.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-a6p8voaodog5c0****',
- ],
+ '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' => 'TrafficQosPolicyId',
+ 'name' => 'FlowLogName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the QoS policy.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'qos-rnghap5gc8155x****',
- ],
+ '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' => 'TrafficQosQueueId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the queue.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'qos-queue-siakjb2nn9gz5z****',
- ],
- ],
- [
- 'name' => 'TrafficQosQueueName',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the QoS queue.'."\n"
- ."\n"
- .'The name must be 1 to 128 characters in length, and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'qosQueueName',
- ],
+ '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' => 'TrafficQosQueueDescription',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the QoS 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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'qosQueueDescription',
- ],
+ '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' => 'MaxResults',
+ 'name' => 'FlowLogId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'flowlog-m5evbtbpt****'],
],
[
- 'name' => 'NextToken',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2ca1ed1573cb****',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
[
- 'name' => 'EffectiveBandwidthFilter',
+ 'name' => 'Interval',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The filter works based on the actual bandwidth. Enter a positive integer. Unit: Mbit/s.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Gte' => [
- 'description' => 'The actual bandwidth is equal to or larger than the specified value.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '50',
- ],
- 'Lte' => [
- 'description' => 'The actual bandwidth is equal to or smaller than the specified value.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- 'required' => false,
- ],
+ '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.'."\n",
+ '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 of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => '0151fa6aa1ed****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.',
- 'type' => 'string',
- 'example' => '1D1E15D2-416D-54F3-BDD9-BC27DE4C6352',
- ],
- 'TrafficQosQueues' => [
- 'description' => 'The information about the QoS queue.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the QoS queue.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the inter-region connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-nzrcv25d7ezt23****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-p0wwagjv6fvxt4b7y****',
- ],
- 'TrafficQosQueueName' => [
- 'description' => 'The name of the QoS queue.'."\n",
- 'type' => 'string',
- 'example' => 'qosQueueName',
- ],
- 'RemainBandwidthPercent' => [
- 'description' => 'The percentage of bandwidth that can be allocated to the current queue.'."\n"
- ."\n"
- .'A value of **1** indicates that the QoS queue can consume at most 1% of the inter-region bandwidth.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Bandwidth' => [
- 'description' => 'The absolute bandwidth value that can be allocated to the current queue.'."\n"
- ."\n"
- .'A value of **1** indicates that the QoS queue can consume at most 1 Mbit/s of inter-region bandwidth.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'EffectiveBandwidth' => [
- 'description' => 'The actual bandwidth of the current queue.'."\n",
- 'type' => 'string',
- 'example' => '1.35',
- ],
- 'TrafficQosPolicyId' => [
- 'description' => 'The ID of the QoS policy.'."\n",
- 'type' => 'string',
- 'example' => 'qos-fv2qq9yqrsjowp****',
- ],
- 'TrafficQosQueueId' => [
- 'description' => 'The ID of the QoS queue.'."\n",
- 'type' => 'string',
- 'example' => 'qos-queue-siakjb2nn9gz5z****'."\n",
- ],
- 'TrafficQosQueueDescription' => [
- 'description' => 'The description of the QoS queue.'."\n",
- 'type' => 'string',
- 'example' => 'qosQueueDescription'."\n",
- ],
- 'Dscps' => [
- 'description' => 'The Differentiated Services Code Point (DSCP) value that matches the current QoS queue.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The DSCP value that matches the current QoS queue.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- ],
- 'Status' => [
- 'description' => 'The status of the QoS queue. Valid values:'."\n"
- ."\n"
- .'* **Creating**'."\n"
- .'* **Active**'."\n"
- .'* **Deleting**'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- ],
- ],
- ],
+ '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' => 'MissingParam.TransitRouterIdOrTrafficQosPolicyIdOrTrafficQosQueueId',
- 'errorMessage' => 'Either TransitRouterId or TrafficQosPolicyId or TrafficQosQueueId must be specified.',
- ],
- [
- 'errorCode' => 'InvalidParameter.MaxResults',
- 'errorMessage' => 'The specified MaxResults is invalid. ',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.EffectiveBandwidthFilter',
- 'errorMessage' => 'The input bandwidth filter value is not valid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => 'synchronous',
- ],
- '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"}]',
- 'title' => 'ListCenInterRegionTrafficQosQueues',
- 'description' => 'You must specify at least one of the **TransitRouterId**, **TrafficQosPolicyId**, and **TrafficQosQueueId** parameters.'."\n"
+ '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"
- .'Make sure that all the request parameters are valid. If a request parameter is invalid, a **request ID** is returned but the QoS queue information is not returned.'."\n",
- ],
- 'DeleteRouteServiceInCen' => [
- 'summary' => 'Deletes the configuration of a cloud service connected to a Basic Edition transit router.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -27508,67 +20061,41 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
- ],
- [
- 'name' => 'Host',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The IP addresses or CIDR blocks of the cloud service.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '100.118.28.0/24',
- ],
+ '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' => 'HostRegionId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the cloud service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'AccessRegionId',
+ 'name' => 'OrderType',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the region where the cloud service is accessed.'."\n",
+ 'description' => 'The payer for the network instance.',
'type' => 'string',
'required' => true,
'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
+ 'title' => '',
+ 'example' => 'PayByCenOwner',
],
],
[
- 'name' => 'HostVpcId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the virtual private cloud (VPC) that is associated with the cloud service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp1t36rn9l53iwbsf****',
- ],
+ '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' => [
@@ -27576,914 +20103,696 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''],
],
+ 'title' => '',
+ 'description' => 'Response body.',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidOperation.CloudRouteNumberInvalid',
- 'errorMessage' => 'Cloud route number is invalid',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
- 403 => [
- [
- 'errorCode' => 'InvalidOperation.CloudRouteStatusNotAllow',
- 'errorMessage' => 'Operation is prohibited because status of cloud route is invalid.',
+ ],
+ '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteRouteServiceInCenResponse>\\n <RequestId>2315DEB7-5E92-423A-91F7-4C1EC9AD97C3</RequestId>\\n</DeleteRouteServiceInCenResponse>","errorExample":""}]',
- 'title' => 'DeleteRouteServiceInCen',
- 'description' => '**DeleteRouteServiceInCen** is an asynchronous operation. After a request is sent, the system returns a **request ID** and runs the task in the background. If the request parameters are invalid, the system returns a request ID, but the cloud service configuration is not deleted. You can call **DescribeRouteServicesInCen** to query the status of the task.'."\n"
- ."\n"
- .'* If a cloud service is in the **Deleting** state, the cloud service configuration is being deleted. In this case, you can only query the cloud service configuration and cannot perform other operations.'."\n"
- .'* If the specified cloud service configuration cannot be found, the cloud service configuration is deleted.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]',
],
- 'DescribeRouteServicesInCen' => [
- 'summary' => 'Queries the cloud services that are configured on a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyTrafficMatchRuleToTrafficMarkingPolicy' => [
+ 'summary' => 'Modifies the name and description of a stream classification rule.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '247314',
+ 'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Default value: **10**. Valid values: **1** to **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ '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' => 'CenId',
+ 'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-pfa6ugf3xl0qsd****',
- ],
+ 'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-u9nxup5kww5po8****', 'title' => ''],
],
[
- 'name' => 'Host',
+ 'name' => 'TrafficMatchRuleId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The service address of the cloud service.'."\n"
- ."\n"
- .'You can enter a domain name, an IP address, or a CIDR block.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '100.118.28.0/24',
- ],
+ 'schema' => ['description' => 'The ID of the stream classification rule.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-rule-fa9kgq1e90rmhc****'."\n", 'title' => ''],
],
[
- 'name' => 'HostRegionId',
+ 'name' => 'TrafficMatchRuleName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the cloud service.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'AccessRegionId',
+ 'name' => 'TrafficMatchRuleDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the cloud service is accessed.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostVpcId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC associated with the cloud service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
+ '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 returned data.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '196C99CA-6997-5951-9721-AE89720DF856',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'RouteServiceEntries' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'RouteServiceEntry' => [
- 'description' => 'The information about the cloud services.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => 'The status of the cloud service. Valid values:'."\n"
- ."\n"
- .'* **Creating**'."\n"
- .'* **Active**'."\n"
- .'* **Deleting**'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'Host' => [
- 'description' => 'The service address of the cloud service.'."\n",
- 'type' => 'string',
- 'example' => '100.118.28.0/24',
- ],
- 'Description' => [
- 'description' => 'The description of the cloud service.'."\n",
- 'type' => 'string',
- 'example' => 'descname',
- ],
- 'HostVpcId' => [
- 'description' => 'The ID of the VPC associated with the cloud service.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-pfa6ugf3xl0qsd****',
- ],
- 'AccessRegionId' => [
- 'description' => 'The ID of the region where the cloud service is accessed.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'HostRegionId' => [
- 'description' => 'The region ID of the cloud service.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'Cidrs' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Cidr' => [
- 'description' => 'The service addresses of the cloud service.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The service address of the cloud service.'."\n"
- ."\n"
- .'* If **Host** is set to an IP address or a CIDR block, the value of **Cidrs** is an IP address or a CIDR block.'."\n"
- .'* If **Host** is set to a domain name, the value of **Cidrs** is the IP address to which the domain name is resolved.'."\n",
- 'type' => 'string',
- 'example' => '100.118.28.0/24',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '13526224-5780-4426-8ADF-BC8B08700F23', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeRouteServicesInCenResponse>\\n<TotalCount>2</TotalCount>\\n<RequestId>196C99CA-6997-5951-9721-AE89720DF856</RequestId>\\n<PageSize>10</PageSize>\\n<PageNumber>1</PageNumber>\\n<RouteServiceEntries>\\n <RouteServiceEntry>\\n <Status>Active</Status>\\n <HostRegionId>cn-hangzhou</HostRegionId>\\n <CenId>cen-pfa6ugf3xl0qsd****</CenId>\\n <Host>100.118.28.0/24</Host>\\n <AccessRegionId>ccn-cn-shanghai</AccessRegionId>\\n <HostVpcId>vpc-bp1h8vbrbcgohcju5****</HostVpcId>\\n <Cidrs>\\n <Cidr>100.118.28.0/24</Cidr>\\n </Cidrs>\\n </RouteServiceEntry>\\n <RouteServiceEntry>\\n <Status>Active</Status>\\n <HostRegionId>cn-hangzhou</HostRegionId>\\n <CenId>cen-pfa6ugf3xl0qsd****</CenId>\\n <Host>100.118.28.0/24</Host>\\n <AccessRegionId>cn-hangzhou</AccessRegionId>\\n <HostVpcId>vpc-bp1h8vbrbcgohcju5****</HostVpcId>\\n <Cidrs>\\n <Cidr>100.118.28.0/24</Cidr>\\n </Cidrs>\\n </RouteServiceEntry>\\n</RouteServiceEntries>\\n</DescribeRouteServicesInCenResponse>","errorExample":""}]',
- 'title' => 'DescribeRouteServicesInCen',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ResolveAndRouteServiceInCen' => [
- 'summary' => 'Connects an on-premises network to a cloud service.',
- 'methods' => [
- 'post',
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'abilityTreeCode' => '258484',
+ 'abilityTreeNodes' => ['FEATUREcbnT33W0H', 'FEATUREcbn476RI8'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'TransitRouteTableId',
'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' => '02fb3da4****',
- ],
+ 'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
- 'name' => 'CenId',
+ 'name' => 'TransitRouteTableAggregationName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-ckwa2hhmuislse****',
- ],
+ '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' => 'Host',
+ 'name' => 'TransitRouteTableAggregationCidr',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '100.118.28.0/24',
- ],
+ 'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
- 'name' => 'HostRegionId',
+ 'name' => 'TransitRouteTableAggregationScope',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region in which the cloud service is deployed.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'HostVpcId',
+ 'name' => 'TransitRouteTableAggregationScopeList',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The ID of the VPC that is associated with the cloud service.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-o6woh5s494zueq40v****',
+ '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' => 'Description',
+ 'name' => 'TransitRouteTableAggregationDescription',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'descname',
- ],
+ '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' => 'AccessRegionIds',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of the regions where the cloud service is accessed.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- 'required' => true,
- 'example' => 'cn-hangzhou',
- 'maxItems' => 32,
- ],
+ '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 ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterIllegal.Ipv6CloudRouteCidrNotAllow',
- 'errorMessage' => 'Parameter Host not in valid ipv6 cidr.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.AccessRegionId',
- 'errorMessage' => 'Parameter Access RegionId illegal.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.CloudRouteHost',
- 'errorMessage' => 'Parameter Host is not valid.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ClouteRouteNotSupportIpv6',
- 'errorMessage' => 'Parameter Host not support IPv6',
- ],
- [
- 'errorCode' => 'ParameterIllegal.ClouteRouteCidrNotAllow',
- 'errorMessage' => 'Parameter Host not in 100.64.0.0/10',
- ],
- [
- 'errorCode' => 'CloudRoute.Exist',
- 'errorMessage' => 'The Specified Cloud Route already Exists',
- ],
- [
- 'errorCode' => 'ParameterIllegal.Host',
- 'errorMessage' => ' Parameter Host does not support domain.',
- ],
- [
- 'errorCode' => 'CloudRoute.Conflict',
- 'errorMessage' => 'The Specified Cloud Route Conflicts.',
- ],
- [
- 'errorCode' => 'CloudRoute.VpcNotAttached',
- 'errorMessage' => 'The Specified Vpc instance is not attached to CEN. ',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.AccessRegionIdNoCCN',
- 'errorMessage' => 'Parameter Access RegionId illegal.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The resource is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'InvalidOperation.InstanceNotSupportIPv6Route',
- 'errorMessage' => 'IPv6 routing has not been enabled for the CEN instance.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","errorExample":""},{"type":"xml","example":"<ResolveAndRouteServiceInCenResponse>\\r\\n <RequestId>C0245BEF-52AC-44A8-A776-EF96FD26A5CA</RequestId>\\r\\n</ResolveAndRouteServiceInCenResponse>","errorExample":""}]',
- '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"
- ."\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~~).'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
- 'DescribeCenPrivateZoneRoutes' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyTransitRouterCidr' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => 'PageSize',
+ 'name' => 'TransitRouterId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the Transit Router instance.', 'type' => 'string', 'required' => true, 'example' => 'tr-gw8ergozrv77rtbjd****', 'title' => ''],
],
[
- 'name' => 'CenId',
+ 'name' => 'TransitRouterCidrId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc**** ',
- ],
+ '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' => 'AccessRegionId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where PrivateZone is accessed.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'HostRegionId',
+ 'name' => 'Name',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where PrivateZone is deployed.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'example' => '461EC1B5-04A8-4706-8764-8F5BCEF48A6F',
- ],
- 'PrivateZoneDnsServers' => [
- 'description' => 'The IP address of the DNS server used by PrivateZone.'."\n",
- 'type' => 'string',
- 'example' => '100.100.XX.XX/32,100.100.XX.XX/32',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-7qthudw0ll6jmc**** ',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'PrivateZoneInfos' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'PrivateZoneInfo' => [
- 'description' => 'The detailed configuration of PrivateZone.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => 'The status of PrivateZone. Valid values:'."\n"
- ."\n"
- .'* **Creating**: being created'."\n"
- .'* **Active**: available'."\n"
- .'* **Deleting**: being deleted'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'AccessRegionId' => [
- 'description' => 'The ID of the region where PrivateZone is accessed.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'HostRegionId' => [
- 'description' => 'The ID of the region where PrivateZone is deployed.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'HostVpcId' => [
- 'description' => 'The ID of the VPC that is associated with PrivateZone.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp18sth14qii3pnvo****',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeCenPrivateZoneRoutesResponse>\\r\\n\\t<PrivateZoneInfos>\\r\\n\\t\\t<PrivateZoneInfo>\\r\\n\\t\\t\\t<Status>Active</Status>\\r\\n\\t\\t\\t<HostVpcId>vpc-bp18sth14qii3pnvo****</HostVpcId>\\r\\n\\t\\t\\t<AccessRegionId>ccn-cn-shanghai</AccessRegionId>\\r\\n\\t\\t\\t<HostRegionId>cn-hangzhou</HostRegionId>\\r\\n\\t\\t</PrivateZoneInfo>\\r\\n\\t\\t<PrivateZoneInfo>\\r\\n\\t\\t\\t<Status>Active</Status>\\r\\n\\t\\t\\t<HostVpcId>vpc-bp18sth14qii3pnvo****</HostVpcId>\\r\\n\\t\\t\\t<AccessRegionId>cn-hangzhou</AccessRegionId>\\r\\n\\t\\t\\t<HostRegionId>cn-hangzhou</HostRegionId>\\r\\n\\t\\t</PrivateZoneInfo>\\r\\n\\t</PrivateZoneInfos>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<TotalCount>2</TotalCount>\\r\\n\\t<PageSize>10</PageSize>\\r\\n\\t<PrivateZoneDnsServers>100.100.XX.XX/32,100.100.XX.XX/32</PrivateZoneDnsServers>\\r\\n\\t<RequestId>461EC1B5-04A8-4706-8764-8F5BCEF48A6F</RequestId>\\r\\n</DescribeCenPrivateZoneRoutesResponse>\\t","errorExample":""}]',
- 'title' => 'DescribeCenPrivateZoneRoutes',
- 'summary' => 'Queries the connections to PrivateZone.',
- 'extraInfo' => ' ',
- ],
- 'UnroutePrivateZoneInCenToVpc' => [
- 'summary' => 'Disables access to PrivateZone.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '129151',
+ 'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ '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' => 'AccessRegionId',
+ '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' => '',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ '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' => '',
- 'type' => 'string',
- 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '26273D23-5CB0-5EFC-AF5F-78A5448084C9', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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'],
],
- 409 => [
- [
- 'errorCode' => 'InvalidOperation.PrivatezoneRouteExisted',
- 'errorMessage' => 'Privatezone routes already existed.',
+ '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","errorExample":""},{"type":"xml","example":"<UnroutePrivateZoneInCenToVpcResponse>\\r\\n <RequestId>C0245BEF-52AC-44A8-A776-EF96FD26A5CA</RequestId>\\r\\n</UnroutePrivateZoneInCenToVpcResponse>","errorExample":""}]',
- 'title' => 'UnroutePrivateZoneInCenToVpc',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"26273D23-5CB0-5EFC-AF5F-78A5448084C9\\"\\n}","type":"json"}]',
],
- 'RoutePrivateZoneInCenToVpc' => [
- 'summary' => 'Configures PrivateZone.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '72414',
+ 'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ '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' => 'AccessRegionId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where PrivateZone is accessed.'."\n"
- ."\n"
- .'This region refers to the region in which PrivateZone is accessed by clients.'."\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',
- ],
+ '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' => 'HostRegionId',
+ 'name' => 'NewResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where PrivateZone is deployed.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the new resource group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rg-aekzqqurtfg****', 'title' => ''],
],
[
- 'name' => 'HostVpcId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC that is associated with PrivateZone.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-bp1h8vbrbcgohcju5****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA ',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1D169236-7C76-57CF-B6C8-B4CACE0BA1BB', '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.',
- ],
- [
- 'errorCode' => 'Forbidden.PrivatezoneServiceNotAuthorize',
- 'errorMessage' => 'Privatezone service not to grant authorization.',
- ],
- [
- 'errorCode' => 'ParameterIllegal.AccessRegionIdNoCCN ',
- 'errorMessage' => 'Parameter Access RegionId illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.',
- ],
+ ['errorCode' => 'Forbidden.ResourceGroup', 'errorMessage' => 'The operation cannot be performed on the specified ResourceGroup.', 'description' => 'The operation cannot be performed on the specified ResourceGroup.'],
],
- 409 => [
- [
- 'errorCode' => 'InvalidOperation.PrivatezoneRouteExisted',
- 'errorMessage' => 'Privatezone routes already existed.',
- ],
- [
- 'errorCode' => 'InvalidOperation.VpcNotAttachedToCen',
- 'errorMessage' => 'Vpc not attached to cen.',
- ],
- [
- 'errorCode' => 'InvalidOperation.UnmatchRouteInVpcRegion',
- 'errorMessage' => 'Operation Failed.Unmatch route in vpc region.',
+ ],
+ '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","errorExample":""},{"type":"xml","example":"<RoutePrivateZoneInCenToVpcResponse>\\n <RequestId>C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\t</RequestId>\\n</RoutePrivateZoneInCenToVpcResponse>","errorExample":""}]',
- 'title' => 'RoutePrivateZoneInCenToVpc',
- 'description' => 'Alibaba Cloud DNS PrivateZone (PrivateZone) is an Alibaba Cloud private domain name resolution and management service based on Virtual Private Cloud (VPC). After you attach virtual border routers (VBRs) and Cloud Connect Network (CCN) instances to a Cloud Enterprise Network (CEN) instance, you can enable the on-premises networks connected to the VBRs and CCN instances to access PrivateZone through the CEN instance. '."\n"
- ."\n"
- .'#### Usage notes'."\n"
- ."\n"
- .'- The on-premises networks connected to VBRs or CCN instances must be deployed in the same region as the PrivateZone service. For example, if the PrivateZone service is deployed in the China (Beijing) region, only on-premises networks connected to VBRs or CCN instances in the China (Beijing) region can access the PrivateZone service. '."\n"
- .'- **RoutePrivateZoneInCenToVpc** 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 **DescribeCenPrivateZoneRoutes** to query the status of PrivateZone. '."\n"
- .' - If PrivateZone is in the **Creating** state, access to PrivateZone is being configured. In this case, you can query PrivateZone configurations but cannot perform other operations. '."\n"
- .' - If PrivateZone is in the **Active** state, access to PrivateZone is enabled. '."\n"
- .' - If PrivateZone is in the **Failed** state, configurations of access to PrivateZone failed. '."\n"
- ."\n"
- .'#### Prerequisites'."\n"
- .'Before you call **RoutePrivateZoneInCenToVpc**, make sure that the following conditions are met:'."\n"
- ."\n"
- .'- PrivateZone is deployed. For more information, see [PrivateZone quick start](~~64627~~).'."\n"
- .'- The following network instances are attached to the same CEN instance: the VPC that is associated with the PrivateZone service, and the VBR and CCN instance that want to access the PrivateZone service. For more information, see [AttachCenChildInstance](~~468684~~). '."\n"
- .'- If your on-premises network uses a CCN instance to connect to Alibaba Cloud and the account that owns the CCN instance is different from the account that owns the VPC or CEN instance, you must grant the CCN instance required permissions. For more information, see [Grant permissions to CCN](~~181654~~).',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1D169236-7C76-57CF-B6C8-B4CACE0BA1BB\\"\\n}","type":"json"}]',
],
- 'CreateTransitRouterMulticastDomain' => [
- 'summary' => 'Creates a multicast domain. A multicast domain is a multicast network in a region. Only resources in the same multicast domain can transmit and receive multicast packets.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'OpenTransitRouterService' => [
+ 'summary' => 'Activates the transit router feature.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -28492,288 +20801,224 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '129145',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnI6X1AL',
- ],
+ '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 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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-4266****',
+ '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' => [
[
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-a7syd349kne38g****',
+ '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' => [
[
- 'name' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-p0wr9p28r92d598y6****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
+ 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'CenId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'TransitRouterMulticastDomainName',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the multicast domain.'."\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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nametest',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-rj9gt5nll27onu****', 'title' => ''],
],
[
- 'name' => 'TransitRouterMulticastDomainDescription',
+ 'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => [
- 'description' => 'The description of the multicast domain.'."\n"
+ 'description' => 'The type of the network instance. Valid values:'."\n"
+ ."\n"
+ .'- **VPC**: virtual private cloud.'."\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.'."\n",
+ .'- **VBR**: virtual border router.',
'type' => 'string',
- 'required' => false,
- 'example' => 'desctest',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['VPC' => 'VPC'],
+ 'example' => 'VPC',
+ 'title' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ChildInstanceRegionId',
'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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'Tag',
+ 'name' => 'ChildInstanceRouteTableId',
'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',
- ],
- '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',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ 'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp174d1gje7****', 'title' => ''],
],
[
- 'name' => 'Options',
+ 'name' => 'DestinationCidrBlock',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'Multicast domain feature.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Igmpv2Support' => [
- 'description' => 'Indicates whether the IGMP feature is enabled for the multicast domain. Once enabled, hosts can dynamically join or leave multicast groups by using IGMP protocol. Valid values:'."\n"
- ."\n"
- .'* **enable**: enables IGMP.'."\n"
- .'* **disable**(default): disables IGMP.'."\n"
- ."\n"
- .'> * The IGMP feature is in beta testing. To use it, contact your account manager.'."\n"
- .'> * If you select this option, you cannot disable IPv6 after the VBR is created.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'enable',
- ],
- ],
- 'required' => false,
- ],
+ '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' => [
- 'title' => 'PlainResponse<String>',
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'TransitRouterMulticastDomainId' => [
- 'description' => 'The ID of the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '94E19C6F-206F-5223-9A63-64B85851BC04',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTransitRouterId.NotFound',
- 'errorMessage' => 'The specified TransitRouterId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterId',
- 'errorMessage' => 'The specified TransitRouterId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'The specified RegionId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'The specified CenId is not found.',
- ],
- [
- 'errorCode' => 'InvalidOperation.TransitRouterNotExist',
- 'errorMessage' => 'Operation is invalid because the transit router not exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.CENInstanceStatus',
- 'errorMessage' => 'The CEN instance is not in a valid state for the operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterType',
- 'errorMessage' => 'The specified TransitRouterType does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ServiceMode',
- 'errorMessage' => 'The specified ServiceMode does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.TransitRouterSupportMulticast',
- 'errorMessage' => 'The specified TransitRouterSupportMulticast does not support the operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.RegionId',
- 'errorMessage' => 'The specified RegionId does not support the operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Cen',
- 'errorMessage' => 'The status of Cen is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.MulticastDomain',
- 'errorMessage' => 'The MulticastDomain quota is exceeded.',
- ],
- [
- 'errorCode' => 'IllegalParam.Igmpv2Support',
- 'errorMessage' => 'The specified Igmpv2Support is illegal. Valid values are [enable, disable].',
- ],
- [
- 'errorCode' => 'OperationUnsupported.Igmpv2Support',
- 'errorMessage' => 'The current UID does not allow the creation of a igmpv2 multicast domain. Please submit a ticket.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterMulticastDomainId\\": \\"tr-mcast-domain-40cwj0rgzgdtam****\\",\\n \\"RequestId\\": \\"94E19C6F-206F-5223-9A63-64B85851BC04\\"\\n}","type":"json"}]',
- 'title' => 'CreateTransitRouterMulticastDomain',
- 'description' => 'Before you call this operation, read the following rules:'."\n"
- ."\n"
- .'* Make sure that an Enterprise Edition transit router is deployed in the region where you want to create the multicast domain, and the multicast feature is enabled for the Enterprise Edition transit router. For more information, see [CreateTransitRouter](~~261169~~).'."\n"
- ."\n"
- .' If an Enterprise Edition transit router was created before you apply for multicast resources, the transit router does not support multicast. You can delete the transit router and create a new one. For more information about how to delete an Enterprise Edition transit router, see [DeleteTransitRouter](~~261218~~).'."\n"
+ '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"
- .'* When you call **CreateTransitRouterMulticastDomain**, if you set **CenId** and **RegionId**, you do not need to set **TransitRouterId**. If you set **TransitRouterId**, you do not need to set **CenId** or **RegionId**.'."\n",
- ],
- 'DeleteTransitRouterMulticastDomain' => [
- 'methods' => [
- 'post',
- 'get',
+ .'| 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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -28781,125 +21026,94 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'TransitRouteTableId',
'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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-4266****',
- ],
+ 'schema' => ['description' => 'The route table ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-iq8qgruq1ry8jc7vt****', 'title' => ''],
],
[
- 'name' => 'TransitRouterMulticastDomainId',
+ 'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the multicast domain.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****',
- ],
+ 'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => true, 'example' => '192.168.53.0/24', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
+ 'title' => 'PlainResponse',
+ 'description' => 'The returned result.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '40194E53-2484-5831-BB53-E11D123C1A32',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IncorrectStatus.MulticastDomain',
- 'errorMessage' => 'The status of MulticastDomain is incorrect.',
- ],
- [
- 'errorCode' => 'InstanceNotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Cen',
- 'errorMessage' => 'The status of Cen is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouter',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainAssociationExist',
- 'errorMessage' => 'Operation is invalid because multicast domain associations exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastGroupExist',
- 'errorMessage' => 'Operation is invalid because multicast groups exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainInGroup',
- 'errorMessage' => 'Operation is invalid because multicast domain has registered as multicast group member.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"40194E53-2484-5831-BB53-E11D123C1A32\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTransitRouterMulticastDomainResponse>\\n <RequestId>40194E53-2484-5831-BB53-E11D123C1A32</RequestId>\\n</DeleteTransitRouterMulticastDomainResponse>","errorExample":""}]',
- 'title' => 'DeleteTransitRouterMulticastDomain',
- 'summary' => 'Deletes a multicast domain.',
- 'description' => 'Before you delete a multicast domain, make sure that the following requirements are met:'."\n"
+ '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"
- .'* The multicast domain is disassociated from all vSwitches. For more information, see [DisassociateTransitRouterMulticastDomain](~~429774~~).'."\n"
- .'* All multicast sources and members are removed from the multicast domain. For more information, see [DeregisterTransitRouterMulticastGroupSources](~~429776~~) and [DeregisterTransitRouterMulticastGroupMembers](~~429779~~).'."\n"
- .'* The multicast domain is not added to other multicast domains as a multicast member. If the multicast domain is added to another multicast domain as a multicast member, you must remove the multicast domain from the other multicast domain. For more information, see [DeregisterTransitRouterMulticastGroupMembers](~~429779~~).'."\n"
- .'* Make sure all the request parameters are valid. If a request parameter is invalid, a request ID is returned after you call the operation, but the multicast domain is not deleted.'."\n",
- ],
- 'ModifyTransitRouterMulticastDomain' => [
- 'summary' => 'You can call the ModifyTransitRouterMulticastDomain operation to modify the name, description, and feature options of a multicast domain.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -28908,858 +21122,540 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '129151',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnI6X1AL',
- ],
+ '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-4266****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****',
- ],
+ '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' => 'TransitRouterMulticastDomainName',
+ '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 new name of the multicast domain.'."\n"
+ 'description' => 'The IDs of the ENIs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the ENI'."\n"
."\n"
- .'The name can be empty or 1 to 128 characters in length, and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'nametest',
+ 'maxItems' => 1000,
+ 'title' => '',
],
],
[
- 'name' => 'TransitRouterMulticastDomainDescription',
+ 'name' => 'PeerTransitRouterMulticastDomains',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The new description of the multicast domain.'."\n"
+ 'description' => 'The IDs of inter-region multicast domains.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the inter-region multicast domain.'."\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',
+ .'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,
- 'example' => 'desctest',
+ '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 actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'Options',
+ 'name' => 'VpcId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'Multicast domain feature.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Igmpv2Support' => [
- 'description' => 'Indicates whether the IGMP feature is enabled for the multicast domain. Once enabled, hosts can dynamically join or leave multicast groups by using the IGMP protocol. Default value: **enable**.'."\n"
- ."\n"
- .'> * The IGMP feature is in beta testing. To use it, contact your account manager.'."\n"
- .'> * The IGMP feature cannot be disabled after it is enabled.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'enable',
- ],
- ],
- 'required' => false,
- ],
+ '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' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'PlainResponse<String>',
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '26273D23-5CB0-5EFC-AF5F-78A5448084C9',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'Illegal.Name',
- 'errorMessage' => 'Name is illegal.',
- ],
- [
- 'errorCode' => 'Illegal.Description',
- 'errorMessage' => 'Description is illegal.',
- ],
- [
- 'errorCode' => 'InvalidMulticastDomainId.NotFound',
- 'errorMessage' => 'The specified MulticastDomainId is not found.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'IllegalParam.Igmpv2Support',
- 'errorMessage' => 'The specified Igmpv2Support is illegal. Valid values are [enable, disable].',
- ],
- [
- 'errorCode' => 'OperationUnsupported.Igmpv2Support',
- 'errorMessage' => 'The current UID does not allow the creation of a igmpv2 multicast domain. Please submit a ticket.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.NotAllowedDisableIgmpv2Support',
- 'errorMessage' => 'The operation is not permitted because Igmpv2Support is not currently available to be disabled.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => '云企业网'],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'cen:RegisterTransitRouterMulticastGroupMembers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"26273D23-5CB0-5EFC-AF5F-78A5448084C9\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyTransitRouterMulticastDomainResponse>\\n <RequestId>26273D23-5CB0-5EFC-AF5F-78A5448084C9</RequestId>\\n</ModifyTransitRouterMulticastDomainResponse>","errorExample":""}]',
- 'title' => 'ModifyTransitRouterMulticastDomain',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE\\"\\n}","type":"json"}]',
],
- 'ListTransitRouterMulticastDomains' => [
- 'summary' => 'Queries the information about a multicast domain, such as the status, ID, and description.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '129152',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnNFSCZP',
- ],
- ],
+ '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 token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
- ],
- ],
- [
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'cen-a7syd349kne38g****',
- ],
- ],
- [
- 'name' => 'TransitRouterId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The transit router ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-p0wr9p28r92d598y6****',
- ],
+ '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 multicast domain ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-mcast-domain-3r3bvbypxqheej****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'GroupIpAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region to which the transit router belongs.'."\n"
- ."\n"
- .'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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"
+ .'><notice>'."\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"
+ .'></notice>'."\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' => 'MaxResults',
+ 'name' => 'NetworkInterfaceIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
+ '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,
- 'example' => '20',
+ 'maxItems' => 1000,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'NextToken',
+ 'name' => 'DryRun',
'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"
- .'* If a value is returned for NextToken, specify the value in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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' => 'Tag',
+ 'name' => 'VpcId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags.'."\n"
- ."\n"
- .'You can specify up to 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 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',
- ],
- '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 pair must be unique. You can specify up to 20 tag values in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TagValue',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => [
- 'description' => 'The results returned.'."\n",
+ 'title' => 'PlainResponse<String>',
+ 'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8A0F93D1-FD6C-56FC-B6D2-668FC92D12D2',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which 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.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'TransitRouterMulticastDomains' => [
- 'description' => 'The list of multicast domains.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about multicast domains.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'TransitRouterMulticastDomainId' => [
- 'description' => 'The ID of the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'tr-mcast-domain-3r3bvbypxqheej****',
- ],
- 'TransitRouterMulticastDomainName' => [
- 'description' => 'The name of the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'nametest',
- ],
- 'TransitRouterMulticastDomainDescription' => [
- 'description' => 'The description of the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'desctest',
- ],
- 'Status' => [
- 'description' => 'The status of the multicast domain.'."\n"
- ."\n"
- .'The valid value is **Active**, which indicates that the multicast domain is available.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'Tags' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'TagKey',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'TagValue',
- ],
- ],
- ],
- ],
- 'TransitRouterId' => [
- 'description' => 'The transit router ID.'."\n",
- 'type' => 'string',
- 'example' => 'tr-bp1c23ijrl6d6c226h***',
- ],
- 'RegionId' => [
- '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-hangzhou',
- ],
- 'CenId' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'cen-a7syd349kne38g****',
- ],
- 'Options' => [
- 'description' => 'Multicast domain feature.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Igmpv2Support' => [
- 'description' => 'Indicates whether the IGMP feature is enabled for the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'enable',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9C5D5D70-0AFF-5E5C-8D8A-E92C90C8FB08', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrInstance',
- 'errorMessage' => 'The specified TrInstance is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.CenId',
- 'errorMessage' => 'The specified CenId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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'],
],
- 'responseDemo' => '[{"type":"json","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 }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTransitRouterMulticastDomainsResponse>\\n <RequestId>8A0F93D1-FD6C-56FC-B6D2-668FC92D12D2</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>20</MaxResults>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <TransitRouterMulticastDomains>\\n <TransitRouterMulticastDomainId>tr-mcast-domain-3r3bvbypxqheej****</TransitRouterMulticastDomainId>\\n <TransitRouterMulticastDomainName>nametest</TransitRouterMulticastDomainName>\\n <TransitRouterMulticastDomainDescription>desctest</TransitRouterMulticastDomainDescription>\\n <Status>Active</Status>\\n <Tags>\\n <Key>TagKey</Key>\\n <Value>TagValue</Value>\\n </Tags>\\n </TransitRouterMulticastDomains>\\n</ListTransitRouterMulticastDomainsResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterMulticastDomains',
- 'description' => '* If you configure one of the RegionId and CenId parameters, you must configure the other parameter. Otherwise, no information about the multicast domain is returned. You can configure only one of the TransitRouterId and TransitRouterMulticastDomainId parameters.'."\n"
- .'* Make sure that all the request parameters are valid. If a request parameter is invalid, a **request ID** is returned but the information about the multicast domain is not returned.'."\n",
- ],
- 'ListTransitRouterMulticastDomainAssociations' => [
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ '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 token can only contain ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-4266****',
- ],
+ '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' => 'TransitRouterMulticastDomainId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the multicast domain.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-p90y3ymbbwuvy5****',
- ],
+ 'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tm-d33hdczo3qo8ta****'],
],
[
- 'name' => 'VSwitchIds',
+ 'name' => 'TrafficMarkRuleIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of vSwitches.'."\n",
+ 'description' => 'The ID of the traffic classification rule.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the vSwitch.'."\n"
- ."\n"
- .'You can specify at most 20 vSwitch IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vsw-p0w9s2ig1jnwgrbzl****',
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
- ],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of resource associated with the multicast domain.'."\n"
+ 'items' => ['description' => 'The ID of the traffic classification rule.'."\n"
."\n"
- .'Valid value: **VPC**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
- ],
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource associated with the multicast domain.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-p0w9alkte4w2htrqe****',
- ],
- ],
- [
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
+ .'You can delete at most 20 traffic classification rules in each call.'."\n"
."\n"
- .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'maxItems' => 20,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '1CD0969B-A605-5D2D-BFF0-699FD182FB7F',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, it indicates that no subsequent query is to be sent.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'TransitRouterMulticastAssociations' => [
- 'description' => 'The information about the resource associated with the multicast domain.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The associated resources.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'TransitRouterMulticastDomainId' => [
- 'description' => 'The ID of the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-p90y3ymbbwuvy5****',
- ],
- 'VSwitchId' => [
- 'description' => 'The ID of the vSwitch.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-p0wxk12u6okfkr8xy****',
- ],
- 'Status' => [
- 'description' => 'The association status. Valid values:'."\n"
- ."\n"
- .'* **Associated**: The resource is associated with the multicast domain.'."\n"
- .'* **Associating**: The resource is being associated with the multicast domain.'."\n"
- .'* **Dissociating**: The resource is being disassociated from the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'Dissociating',
- ],
- 'ResourceType' => [
- 'description' => 'The type of resource associated with the multicast domain.'."\n"
- ."\n"
- .'Valid value: **VPC**.'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'ResourceOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the resource associated with the multicast domain belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1210123456123456',
- ],
- 'ResourceId' => [
- 'description' => 'The ID of the resource associated with the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-p0w9b7g9l90yofr0n****',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39'],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterMulticastDomainId',
- 'errorMessage' => 'The specified TransitRouterMulticastDomainId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
],
- '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"}]',
- 'title' => 'ListTransitRouterMulticastDomainAssociations',
- 'summary' => 'Queries whether a multicast domain is associated with a vSwitch.',
- 'description' => '* You must set at least **TransitRouterMulticastDomainId** and **TransitRouterAttachmentId**. If you set **TransitRouterAttachmentId**, the information about the vSwitches in a virtual private cloud (VPC) that are associated with a multicast domain is returned. If you set **TransitRouterMulticastDomainId**, the information about the vSwitches that are associated with a multicast domain is returned.'."\n"
- .'* Before you call **ListTransitRouterMulticastDomainAssociations**, make sure that all the request parameters are valid. If a request parameter is invalid, the system returns a **request ID** but does not return the vSwitches that are associated with the multicast domain.'."\n",
- ],
- 'ListTransitRouterMulticastDomainVSwitches' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'operationType' => 'write',
+ 'deprecated' => true,
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cen-44m0p68spvlrqq****',
- ],
+ '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' => 'VpcId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-p0wr1cd4fcuxy3ui0****',
- ],
- ],
- [
- 'name' => 'VSwitchIds',
+ 'name' => 'DryRun',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vsw-p0w5ejr9bzfsttiza****',
- ],
- 'required' => false,
- 'maxItems' => 50,
- ],
+ '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' => 'MaxResults',
+ 'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The ID of the traffic marking policy.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-d33hdczo3qo8ta****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'TrafficMarkRuleIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '',
- 'type' => 'string',
+ '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,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'maxItems' => 20,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'B0E7E43C-979A-5130-AA0D-B3ADA69E0827',
- ],
- 'TotalCount' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'MaxResults' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'VSwitchIds' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'vsw-p0w5ejr9bzfsttiza****',
- ],
- 'maxItems' => 50,
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TrInstance',
- 'errorMessage' => 'The specified TransitRouter is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified Region is invalid.',
- ],
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'CenId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"B0E7E43C-979A-5130-AA0D-B3ADA69E0827\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 20,\\n \\"VSwitchIds\\": [\\n \\"vsw-p0w5ejr9bzfsttiza****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTransitRouterMulticastDomainVSwitchesResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>B0E7E43C-979A-5130-AA0D-B3ADA69E0827</RequestId>\\n <TotalCount>2</TotalCount>\\n <MaxResults>20</MaxResults>\\n <VSwitchIds>vsw-p0w5ejr9bzfsttiza****</VSwitchIds>\\n</ListTransitRouterMulticastDomainVSwitchesResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterMulticastDomainVSwitches',
- 'summary' => 'Queries the information about vSwitches that are associated with a multicast domain after the virtual private cloud (VPC) of the vSwitches is connected to an Enterprise Edition transit router.',
- ],
- 'AssociateTransitRouterMulticastDomain' => [
- 'summary' => 'Associates the vSwitch of a virtual private cloud (VPC) with a multicast domain.',
- 'methods' => [
- 'post',
- 'get',
+ 'staticInfo' => [
+ 'substitutions' => ['Cbn::2017-09-12::RemoveTrafficMatchRuleFromTrafficMarkingPolicy'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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":"<RemoveTraficMatchRuleFromTrafficMarkingPolicyResponse>\\n <RequestId>6DF9A765-BCD2-5C7E-8C32-C35C8A361A39</RequestId>\\n</RemoveTraficMatchRuleFromTrafficMarkingPolicyResponse>","errorExample":""}]',
+ ],
+ 'ReplaceTransitRouterRouteTableAssociation' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -29767,1146 +21663,788 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '129158',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnI6X1AL',
- ],
- ],
+ '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
- ],
+ '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' => 'TransitRouterMulticastDomainId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the multicast domain.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
- ],
+ '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 VPC connection.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-attach-g3kz2k3u76amsk****',
- ],
+ 'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-071g5j5tefg4x6****', 'title' => ''],
],
[
- 'name' => 'VSwitchIds',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of vSwitches.'."\n",
- '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vsw-p0wxk12u6okfkr8xy****',
- ],
- 'required' => true,
- 'docRequired' => true,
- 'maxItems' => 1000,
- ],
- ],
- [
- 'name' => 'DryRun',
+ 'name' => 'TransitRouterRouteTableId',
'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.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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' => [
- 'title' => 'PlainResponse<String>',
- 'description' => 'The response.'."\n",
+ 'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'F88AC12C-943B-50E9-A344-4F8820BB07A7',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '160BD7D3-3D1E-5702-9AF0-56E4B15FCB65', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidMulticastDomain.NotFound',
- 'errorMessage' => 'The specified MulticastDomain is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.MulticastDomain',
- 'errorMessage' => 'The status of MulticastDomain is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IllegalParam.AttachmentId',
- 'errorMessage' => 'The specified AttachmentId is illegal.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Attachment',
- 'errorMessage' => 'The status of Attachment is incorrect.',
- ],
- [
- 'errorCode' => 'MissingParam.VSwitchIds',
- 'errorMessage' => 'The parameter VSwitchIds is mandatory.',
- ],
- [
- 'errorCode' => 'InstanceNotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.CloudBoxVpc',
- 'errorMessage' => 'The specified CloudBoxVpc does not support the operation.',
- ],
- [
- 'errorCode' => 'AssociationExist.VSwitchIds',
- 'errorMessage' => 'The association already exists.',
- ],
- [
- 'errorCode' => 'QuotaFull.VswitchPerMulticastDomain',
- 'errorMessage' => 'The number of vswitch associated with multicast domain has exceed the maximum value that can be created.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.VpcRegion',
- 'errorMessage' => 'The specified Region is not support for this operation.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.AdvancedFeature',
- 'errorMessage' => 'The specified vpc does not support the operation.',
- ],
- [
- 'errorCode' => 'QuotaFull.MulticastDomainPerVpc',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastDomainAssociations',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
+ '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'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F88AC12C-943B-50E9-A344-4F8820BB07A7\\"\\n}","errorExample":""},{"type":"xml","example":"<AssociateTransitRouterMulticastDomainResponse>\\n <RequestId>F88AC12C-943B-50E9-A344-4F8820BB07A7</RequestId>\\n</AssociateTransitRouterMulticastDomainResponse>","errorExample":""}]',
- '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"
- .' - 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~~).',
- ],
- 'DisassociateTransitRouterMulticastDomain' => [
- 'summary' => 'Disassociates a vSwitch from a multicast domain.',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReplaceTransitRouterRouteTableAssociation'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '129159',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnI6X1AL',
- ],
- ],
+ '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 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',
- ],
+ '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' => 'TransitRouterMulticastDomainId',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the multicast domain.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-ckwa2hhmuislse****'],
],
[
- 'name' => 'TransitRouterAttachmentId',
+ 'name' => 'Host',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the virtual private cloud (VPC) connection.'."\n"
- ."\n"
- .'A connection ID is generated after a VPC to which the vSwitch belongs is connected to a transit router.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-attach-g3kz2k3u76amsk****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'HostRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether only to precheck the API request. Valid values:'."\n"
- ."\n"
- .'- **true**: prechecks the request but does not disassociate the vSwitch from the multicast domain. 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. The vSwitch is disassociated from the multicast domain after the request passes the precheck.',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'VSwitchIds',
+ '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 vSwitches.'."\n",
+ 'description' => 'The IDs of the regions where the cloud service is accessed.',
'type' => 'array',
- 'items' => [
- 'description' => 'The vSwitch IDs.'."\n"
- ."\n"
- .'You can specify at most five vSwitches in each call.'."\n"
- ."\n"
- .'> This parameter is required.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vsw-p0w9s2ig1jnwgrbzl****',
- ],
- 'required' => false,
- 'docRequired' => true,
- 'maxItems' => 1000,
+ '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' => [
- 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.',
- 'type' => 'string',
- 'example' => '6F6B3FF0-45D1-5416-B189-C45A42A0222B',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidMulticastDomainId.NotFound',
- 'errorMessage' => 'The specified MulticastDomainId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.MulticastDomain',
- 'errorMessage' => 'The status of MulticastDomain is incorrect.',
- ],
- [
- 'errorCode' => 'InstanceStatusNotSupport',
- 'errorMessage' => 'The status of instance not support the operation.',
- ],
- [
- 'errorCode' => 'InvalidAttachmentId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Attachment',
- 'errorMessage' => 'The status of Attachment is incorrect.',
- ],
- [
- 'errorCode' => 'IllegalParam.AttachmentId',
- 'errorMessage' => 'The specified AttachmentId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastGroupExist',
- 'errorMessage' => 'Operation is invalid because multicast groups exist.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastDomainAssociations',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6F6B3FF0-45D1-5416-B189-C45A42A0222B\\"\\n}","errorExample":""},{"type":"xml","example":"<DisassociateTransitRouterMulticastDomainResponse>\\n <RequestId>6F6B3FF0-45D1-5416-B189-C45A42A0222B</RequestId>\\n</DisassociateTransitRouterMulticastDomainResponse>","errorExample":""}]',
- 'title' => 'DisassociateTransitRouterMulticastDomain',
- 'description' => '* Before you delete a vSwitch from a multicast domain, make sure that the vSwitch does not contain a multicast source or a multicast member. For more information about how to remove a multicast source or member from a vSwitch, see [DeregisterTransitRouterMulticastGroupSources](~~468416~~) and [DeregisterTransitRouterMulticastGroupMembers](~~468409~~).'."\n"
+ '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"
- .'* If a request parameter is invalid, the system returns a request ID but does not disassociate the vSwitch from the multicast domain.'."\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"
- .'* **DisassociateTransitRouterMulticastDomain** 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 disassociated from the specified multicast domain.'."\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 status is **Dissociating**, it indicates that the vSwitch is being disassociated from the specified multicast domain. You can query the vSwitch but cannot perform other operations on the vSwitch.'."\n"
- .' * If the vSwitch cannot be found, the vSwitch is disassociated from the multicast domain.'."\n",
- ],
- 'ListTransitRouterMulticastGroups' => [
- 'methods' => [
- 'post',
- 'get',
+ .' - 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '129165',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnI6X1AL',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
- ],
+ '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' => 'TransitRouterMulticastDomainId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the multicast domain.'."\n"
- ."\n"
- .'You must configure one of the TransitRouterMulticastDomainId and TransitRouterAttachmentId parameters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****',
- ],
+ 'schema' => ['description' => 'The network instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
- 'name' => 'GroupIpAddress',
+ 'name' => 'InstanceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IP address of the multicast group.'."\n"
- ."\n"
- .'Each multicast group is identified by its IP address.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '239.XX.XX.2',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection'."\n"
- ."\n"
- .'You must configure one of the TransitRouterMulticastDomainId and TransitRouterAttachmentId parameters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-g3kz2k3u76amsk****',
- ],
+ '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' => 'VSwitchIds',
+ 'name' => 'CenOwnerId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The vSwitch IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the vSwitch.'."\n"
- ."\n"
- .'You can specify at most 20 IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vsw-p0w9s2ig1jnwgrbzl****',
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => 'PeerTransitRouterMulticastDomains',
- 'in' => 'query',
- 'style' => 'repeatList',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The ID of the inter-region multicast domain.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the inter-region multicast domain.'."\n"
- ."\n"
- .'You can specify at most 20 inter-region multicast domain IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AA4BFFD1-5090-5896-935F-4B353557F1A8', 'title' => ''],
],
- 'required' => false,
- 'maxItems' => 20,
+ 'title' => '',
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the multicast resource. Valid values:'."\n"
- ."\n"
- .'* **VPC**: queries multicast resources by VPC.'."\n"
- .'* **TR**: queries multicast resources that are also deployed in a different region.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ ],
+ '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' => [
[
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource associated with the multicast resource.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-p0w9alkte4w2htrqe****',
+ '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' => [
[
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '20',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'NextToken',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
- 'name' => 'IsGroupSource',
+ 'name' => 'AccessRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to query the multicast sources. Valid values:'."\n"
- ."\n"
- .'* **false**'."\n"
- .'* **true**'."\n"
- ."\n"
- .'> - This parameter must be specified together with the IsGroupMember parameter.'."\n"
- .'> * If you do not specify IsGroupMember or IsGroupSource, both the multicast sources and members are queried.'."\n"
- .'> * If you specify only one of them or both of them, the specified values prevail.',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => 'IsGroupMember',
+ 'name' => 'HostRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specified whether to query the multicast members. Valid values:'."\n"
- ."\n"
- .'* **false**'."\n"
- .'* **true**'."\n"
- ."\n"
- .'>- This parameter must be specified together with the IsGroupMember parameter.'."\n"
- .'>- If you do not set IsGroupMember or IsGroupSource, both the multicast sources and members are queried.'."\n"
- .'>- If you set only one of them or both of them, the specified values prevail.',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the region where the PrivateZone service is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NetworkInterfaceIds',
+ 'name' => 'HostVpcId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of ENIs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the ENI.'."\n"
- ."\n"
- .'You can specify up to 20 ENIs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-p0weuda3lszwzjly****',
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'FB3C4A16-0933-5850-9D43-0C3EA37BCBFB',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** was not returned, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'TransitRouterMulticastGroups' => [
- 'description' => 'A list of multicast groups.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the multicast group.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'GroupIpAddress' => [
- 'description' => 'The IP address of the multicast group to which the multicast resource belongs.'."\n",
- 'type' => 'string',
- 'example' => '239.XX.XX.2',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-g3kz2k3u76amsk****',
- ],
- 'VSwitchId' => [
- 'description' => 'The ID of the vSwitch to which the multicast resource belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-p0w9s2ig1jnwgrbzl****',
- ],
- 'NetworkInterfaceId' => [
- 'description' => 'The ID of the ENI, which is a multicast resource.'."\n",
- 'type' => 'string',
- 'example' => 'eni-p0weuda3lszwzjly****',
- ],
- 'PeerTransitRouterMulticastDomainId' => [
- 'description' => 'The ID of the multicast domain associated with the multicast resource that is deployed across regions.'."\n",
- 'type' => 'string',
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
- ],
- 'Status' => [
- 'description' => 'The status of the multicast resource. Valid values:'."\n"
- ."\n"
- .'* **Registering**: being created'."\n"
- .'* **Registered**: available'."\n"
- .'* **Deregistering**: being deleted'."\n",
- 'type' => 'string',
- 'example' => 'Registered',
- ],
- 'GroupSource' => [
- 'description' => 'Indicates whether the multicast resource is a multicast source. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'GroupMember' => [
- 'description' => 'Indicates whether the multicast resource is a multicast member. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'MemberType' => [
- 'description' => 'The type of the multicast source.'."\n"
- ."\n"
- .'If the value is **Static**, the multicast source is manually specified.'."\n",
- 'type' => 'string',
- 'example' => 'Static',
- ],
- 'SourceType' => [
- 'description' => 'The type of the multicast member.'."\n"
- ."\n"
- .'If the value is **Static**, the multicast member is manually specified.'."\n",
- 'type' => 'string',
- 'example' => 'Static',
- ],
- 'ResourceType' => [
- 'description' => 'The type of the multicast resource. Valid values:'."\n"
- ."\n"
- .'* **VPC**: The multicast resource is in a VPC.'."\n"
- .'* **TR**: The multicast resource is deployed across regions.'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'ResourceOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the multicast resource belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '253460731706911258',
- ],
- 'ResourceId' => [
- 'description' => 'The ID of the resource associated with the multicast resource.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-p0w9alkte4w2htrqe****',
- ],
- 'TransitRouterMulticastDomainId' => [
- 'description' => 'The ID of the multicast domain.'."\n",
- 'type' => 'string',
- 'example' => 'tr-mcast-domain-kx0vk0v7fz8kx4****',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The specified NextToken is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterMulticastDomainId',
- 'errorMessage' => 'The specified TransitRouterMulticastDomainId is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.MaxResults',
- 'errorMessage' => 'The specified MaxResults is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterAttachmentId',
- 'errorMessage' => 'TransitRouterAttachmentId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListTransitRouterMulticastGroupsResponse>\\n <RequestId>FB3C4A16-0933-5850-9D43-0C3EA37BCBFB</RequestId>\\n <TotalCount>1</TotalCount>\\n <MaxResults>20</MaxResults>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <TransitRouterMulticastGroups>\\n <GroupIpAddress>239.XX.XX.2</GroupIpAddress>\\n <TransitRouterAttachmentId>tr-attach-g3kz2k3u76amsk****</TransitRouterAttachmentId>\\n <VSwitchId>vsw-p0w9s2ig1jnwgrbzl****</VSwitchId>\\n <NetworkInterfaceId>eni-p0weuda3lszwzjly****</NetworkInterfaceId>\\n <PeerTransitRouterMulticastDomainId>tr-mcast-domain-91wpg6wbhchjeq****</PeerTransitRouterMulticastDomainId>\\n <Status>Registered</Status>\\n <GroupSource>false</GroupSource>\\n <GroupMember>true</GroupMember>\\n <MemberType>Static</MemberType>\\n <SourceType>Static</SourceType>\\n <ResourceType>VPC</ResourceType>\\n <ResourceOwnerId>253460731706911260</ResourceOwnerId>\\n <ResourceId>vpc-p0w9alkte4w2htrqe****</ResourceId>\\n </TransitRouterMulticastGroups>\\n</ListTransitRouterMulticastGroupsResponse>","errorExample":""}]',
- 'title' => 'ListTransitRouterMulticastGroups',
- 'summary' => 'Queries the detailed information about the multicast members and sources in a multicast domain.',
- 'description' => 'You can call the `ListTransitRouterMulticastGroups` operation to query the multicast sources and members in a multicast domain. Multicast sources and members are also known as multicast resources.'."\n"
+ '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"
- .'* If you set **GroupIpAddress**, the system queries multicast resources in the multicast domain by multicast group.'."\n"
- .'* If you set **VSwitchIds**, the system queries multicast resources in the multicast domain by vSwitch.'."\n"
- .'* If you set **PeerTransitRouterMulticastDomains**, the system queries multicast resources that are also deployed in a different region.'."\n"
- .'* If you set **ResourceType**, the system queries the multicast resources of the specified type in the multicast domain.'."\n"
- .'* If you set **ResourceId**, the system queries multicast resources by resource.'."\n"
- .'* If you set only **TransitRouterMulticastDomainId**, the system queries all the multicast resources in the multicast domain.'."\n",
- ],
- 'ListGrantVSwitchEnis' => [
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '72421',
+ 'abilityTreeNodes' => ['FEATUREcbn7IORX8'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance to which the VPC is attached.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cen-a7syd349kne38g****',
- ],
- ],
- [
- 'name' => 'VpcId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-p0w9alkte4w2htrqe****',
- ],
- ],
- [
- 'name' => 'VSwitchId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of a vSwitch in the VPC. You can specify only one vSwitch in each call.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vsw-p0w9s2ig1jnwgrbzl****',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AAAAAdDWBF2****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmx****', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'LocalRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: 10 to 500.'."\n"
- ."\n"
- .'Default value:'."\n"
- ."\n"
- .'* If you do not specify a value, the default value is 20.'."\n"
- .'* If this parameter is set to a value greater than 500, the default value is 500.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '20',
- 'default' => '20',
- ],
+ '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' => 'NetworkInterfaceId',
+ 'name' => 'OppositeRegionId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The ID of ENI N. Valid values of N: 1 to 100.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the ENI.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-wz9a2sgsskvw69v2****',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The ID of the peer region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'us-west-1', 'title' => ''],
],
[
- 'name' => 'NetworkInterfaceName',
+ 'name' => 'BandwidthLimit',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the ENI.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test-eni-name',
- ],
+ 'schema' => ['description' => 'The inter-region bandwidth between the two regions. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '8', 'title' => ''],
],
[
- 'name' => 'PrimaryIpAddress',
+ 'name' => 'BandwidthType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The primary private IPv4 address of the ENI.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
- ],
+ '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' => [
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.',
- 'type' => 'string',
- 'example' => 'DBFE1736-2F33-5309-9954-875B11E9519D',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n"
- ."\n"
- .'> If MaxResults and NextToken are sued to query results by page, ignore this parameter.'."\n",
- 'type' => 'string',
- 'example' => '6',
- ],
- 'GrantVSwitchEnis' => [
- 'description' => 'The information about the ENI.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'VpcId' => [
- 'description' => 'The VPC ID.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-p0w9alkte4w2htrqe****',
- ],
- 'VSwitchId' => [
- 'description' => 'The vSwitch ID.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-p0w9s2ig1jnwgrbzl****',
- ],
- 'NetworkInterfaceId' => [
- 'description' => 'The ENI ID.'."\n",
- 'type' => 'string',
- 'example' => 'eni-p0w172vv82kxzb49****',
- ],
- 'Description' => [
- 'description' => 'The ENI description.'."\n",
- 'type' => 'string',
- 'example' => 'created by CBN',
- ],
- 'TransitRouterFlag' => [
- 'description' => 'Indicates whether the ENI is created by a transit router. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n"
- ."\n"
- .'ENIs that are created by transit routers cannot be used as multicast sources or members.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'NetworkInterfaceName' => [
- 'description' => 'The ENI name.'."\n",
- 'type' => 'string',
- 'example' => 'my-eni-name',
- ],
- 'PrimaryIpAddress' => [
- 'description' => 'The primary private IPv4 address of the ENI.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- ],
- ],
- ],
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAdDWBF2****',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '20',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '530BC816-F575-412A-AAB2-435125D26328', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidCenId.NotFound',
- 'errorMessage' => 'The specified CenId is not found.',
- ],
- [
- 'errorCode' => 'InvalidVpcId.NotFound',
- 'errorMessage' => 'The specified VpcId is not found.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainAssociationNotExist',
- 'errorMessage' => 'Operation is invalid because multicast association domain association not exist.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ListGrantVSwitchEnisResponse>\\n <RequestId>DBFE1736-2F33-5309-9954-875B11E9519D</RequestId>\\n <GrantVSwitchEnis>\\n <TransitRouterFlag>false</TransitRouterFlag>\\n <VpcId>vpc-p0w9alkte4w2htrqe****</VpcId>\\n <VSwitchId>vsw-p0w9s2ig1jnwgrbzl****</VSwitchId>\\n <NetworkInterfaceId>eni-p0w172vv82kxzb49****</NetworkInterfaceId>\\n </GrantVSwitchEnis>\\n <GrantVSwitchEnis>\\n <TransitRouterFlag>false</TransitRouterFlag>\\n <VpcId>vpc-p0w9alkte4w2htrqe****</VpcId>\\n <VSwitchId>vsw-p0w9s2ig1jnwgrbzl****</VSwitchId>\\n <NetworkInterfaceId>eni-p0weuda3lszwzjly****</NetworkInterfaceId>\\n </GrantVSwitchEnis>\\n <GrantVSwitchEnis>\\n <Description>created by CBN</Description>\\n <TransitRouterFlag>true</TransitRouterFlag>\\n <VpcId>vpc-p0w9alkte4w2htrqe****</VpcId>\\n <VSwitchId>vsw-p0w9s2ig1jnwgrbzl****</VSwitchId>\\n <NetworkInterfaceId>eni-p0wa06n9uz70ge2f****</NetworkInterfaceId>\\n </GrantVSwitchEnis>\\n <GrantVSwitchEnis>\\n <Description>created by CBN</Description>\\n <TransitRouterFlag>true</TransitRouterFlag>\\n <VpcId>vpc-p0w9alkte4w2htrqe****</VpcId>\\n <VSwitchId>vsw-p0w9s2ig1jnwgrbzl****</VSwitchId>\\n <NetworkInterfaceId>eni-p0wa06n9uz70ge2f****</NetworkInterfaceId>\\n </GrantVSwitchEnis>\\n <GrantVSwitchEnis>\\n <Description>created by CBN</Description>\\n <TransitRouterFlag>true</TransitRouterFlag>\\n <VpcId>vpc-p0w9alkte4w2htrqe****</VpcId>\\n <VSwitchId>vsw-p0w9s2ig1jnwgrbzl****</VSwitchId>\\n <NetworkInterfaceId>eni-p0wcaxqogaswq4d****</NetworkInterfaceId>\\n </GrantVSwitchEnis>\\n <GrantVSwitchEnis>\\n <Description>created by CBN</Description>\\n <TransitRouterFlag>true</TransitRouterFlag>\\n <VpcId>vpc-p0w9alkte4w2htrqe****</VpcId>\\n <VSwitchId>vsw-p0w9s2ig1jnwgrbzl****</VSwitchId>\\n <NetworkInterfaceId>eni-p0we87l7rv6e5m8k****</NetworkInterfaceId>\\n </GrantVSwitchEnis>\\n</ListGrantVSwitchEnisResponse>","errorExample":""}]',
- 'title' => 'ListGrantVSwitchEnis',
- 'summary' => 'Queries the elastic network interfaces (ENIs) that can be used as multicast sources or members in a specified virtual private cloud (VPC).',
- 'description' => 'Before you call `ListGrantVSwitchEnis`, make sure that the VPC is attached to a Cloud Enterprise Network (CEN) instance. For more information, see [CreateTransitRouterVpcAttachment](~~468237~~).',
],
- 'DeregisterTransitRouterMulticastGroupMembers' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'TagResources' => [
+ 'summary' => 'Creates and attaches tags to resources.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'ResourceType',
'in' => 'query',
'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ 'description' => 'The type of the resource. Valid values:'."\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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
- ],
- ],
- [
- 'name' => 'TransitRouterMulticastDomainId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the multicast domain to which the multicast members belong.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
- ],
- ],
- [
- 'name' => 'GroupIpAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The IP address of the multicast group to which the multicast members belong.'."\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,
- 'example' => '239.XX.XX.2',
+ 'docRequired' => true,
+ 'example' => 'cen',
+ 'title' => '',
],
],
[
- 'name' => 'NetworkInterfaceIds',
+ 'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of elastic network interfaces (ENIs).'."\n",
+ 'description' => 'The list of resource IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the ENI.'."\n"
- ."\n"
- .'You can specify multiple ENIs. Make sure that the total number of specified ENIs and multicast domains does not exceed five.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-p0weuda3lszwzjly****',
- ],
- 'required' => false,
- 'maxItems' => 1000,
+ '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' => 'PeerTransitRouterMulticastDomains',
+ 'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the multicast domain that is in a different region.'."\n",
+ 'description' => 'The list of tags.',
'type' => 'array',
'items' => [
- 'description' => 'The ID of the multicast domain that is in a different region.'."\n"
- ."\n"
- .'You can specify multiple multicast domains. Make sure that the total number of specified ENIs and multicast domains does not exceed five.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****',
+ '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' => false,
- 'maxItems' => 1000,
+ 'required' => true,
+ 'docRequired' => true,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'RegionId',
'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 actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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' => [
- 'title' => 'PlainResponse<String>',
- 'description' => 'The response.'."\n",
+ 'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '61D0A553-5E4E-53B5-9DA3-01CBA076A286',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTransitRouterMulticastDomainId.NotFound',
- 'errorMessage' => 'The specified TransitRouterMulticastDomainId is not found.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainStatus',
- 'errorMessage' => 'Operation is invalid, due to multicast domain not Active.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.MulticastGroup',
- 'errorMessage' => 'The status of MulticastGroup is incorrect.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.NotAllowedDeleteIgmpv2Member',
- 'errorMessage' => 'You cannot delete a multicast source or multicast member of the igmpv2 type.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"61D0A553-5E4E-53B5-9DA3-01CBA076A286\\"\\n}","errorExample":""},{"type":"xml","example":"<DeregisterTransitRouterMulticastGroupMembersResponse>\\n <RequestId>61D0A553-5E4E-53B5-9DA3-01CBA076A286</RequestId>\\n</DeregisterTransitRouterMulticastGroupMembersResponse>","errorExample":""}]',
- 'title' => 'DeregisterTransitRouterMulticastGroupMembers',
- 'summary' => 'Removes a multicast member from a multicast group.',
- 'description' => '`DeregisterTransitRouterMulticastGroupMembers` 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"
+ '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 the multicast member is in the **Deregistering** state, the multicast member is being removed. In this case, you can query the multicast member but cannot perform other operations on the multicast member.'."\n"
- .'* If a multicast member cannot be found, the multicast member is removed from the multicast group.``'."\n"
+ .'- If you attach multiple tags to a Cloud Enterprise Network (CEN) instance, the tag keys must be unique for that instance.'."\n"
."\n"
- .'Before you call the DeregisterTransitRouterMulticastGroupMembers operation, make sure that all request parameters are valid. If a request parameter is invalid, a request ID is returned but the multicast member is not removed.'."\n",
- ],
- 'RegisterTransitRouterMulticastGroupSources' => [
- 'summary' => 'Creates a multicast source for a one-to-many multicast network.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -30914,670 +22452,396 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- ],
+ '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.'."\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-4266****',
- ],
- ],
- [
- '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****',
- ],
- ],
- [
- 'name' => 'GroupIpAddress',
+ 'name' => 'CenBandwidthPackageId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IP address of the multicast group to which the multicast source belongs. Valid values: **224.0.1.0** to **239.255.255.254**.'."\n"
- ."\n"
- .'> 224.0.0.0 to 224.0.0.255 are reserved by the system and cannot be used by multicast groups.'."\n"
- ."\n"
- .'If the multicast group does not exist in the multicast domain, the system automatically creates the multicast group in the multicast domain.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '239.XX.XX.2',
- ],
+ 'schema' => ['description' => 'Bandwidth package ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cenbwp-y08yosedeqlpua****'],
],
[
- 'name' => 'NetworkInterfaceIds',
+ 'name' => 'Bandwidth',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of the ENIs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the ENI that you want to specify as a multicast source.'."\n"
- ."\n"
- .'You can specify at most five multicast sources for a multicast group.'."\n"
- ."\n"
- .'> This parameter is required.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-p0w92o2wupc3c05t****',
- ],
- 'required' => false,
- 'maxItems' => 1000,
- ],
+ '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' => 'DryRun',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to perform a dry run, without sending the actual request. Default values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
- ],
- [
- 'name' => 'VpcId',
+ 'name' => 'EndTime',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-wz9fusm6zq8uy7cfa****',
- ],
+ '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' => [
- 'title' => 'PlainResponse<String>',
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '9C5D5D70-0AFF-5E5C-8D8A-E92C90C8FB08',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'DB0A026C-A8E5-40AB-977E-3A87DD78F694'],
],
+ 'description' => 'The returned result.',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidOperation.PeerMulticastDomainSource',
- 'errorMessage' => 'Operation is invalid because peer multicast domain can not be group source.',
- ],
- [
- 'errorCode' => 'IllegalParam.GroupIpAddress',
- 'errorMessage' => 'The specified GroupIpAddress is illegal.',
- ],
- [
- 'errorCode' => 'InvalidMulticastDomainId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.MulticastDomainId',
- 'errorMessage' => 'The status of MulticastDomainId is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Cen',
- 'errorMessage' => 'The status of Cen is incorrect.',
- ],
- [
- 'errorCode' => 'InstanceExist',
- 'errorMessage' => 'The instance already exists.',
- ],
- [
- 'errorCode' => 'InvalidOperation.NetworkInterfaceNotExist',
- 'errorMessage' => 'Operation is invalid bacause network interface not exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.NTRNetworkInterfaceNotSupport',
- 'errorMessage' => 'Operation is invalid, due to ntr eni not support.',
- ],
- [
- 'errorCode' => 'InstanceNotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainAssociationNotExist',
- 'errorMessage' => 'Operation is invalid because multicast association domain association not exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainAssociationStatus',
- 'errorMessage' => 'Operation is invalid, due to multicast domain association not Active.',
- ],
- [
- 'errorCode' => 'QuotaFull.MulticastGroupPerDomain',
- 'errorMessage' => 'The number of multicast group has exceed the maximum value that can be created.',
- ],
- [
- 'errorCode' => 'QuotaFull.MulticastSourcePerGroup',
- 'errorMessage' => 'The number of multicast group source has exceed the maximum value that can be created.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.ConnectPeerIds',
- 'errorMessage' => 'Connect Peer statuses are incorrect.',
- ],
- [
- 'errorCode' => 'InvalidConnectPeerIds.NotFound',
- 'errorMessage' => 'The Connect Peer Ids are invalid.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ExistsIgmpv2MemberOnEni',
- 'errorMessage' => '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.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9C5D5D70-0AFF-5E5C-8D8A-E92C90C8FB08\\"\\n}","errorExample":""},{"type":"xml","example":"<RegisterTransitRouterMulticastGroupSourcesResponse>\\n <RequestId>9C5D5D70-0AFF-5E5C-8D8A-E92C90C8FB08</RequestId>\\n</RegisterTransitRouterMulticastGroupSourcesResponse>","errorExample":""}]',
- 'title' => 'RegisterTransitRouterMulticastGroupSources',
- 'description' => '* You can specify only elastic network interfaces (ENIs) as multicast sources.'."\n"
- ."\n"
- .'* `RegisterTransitRouterMulticastGroupSources` 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 source.'."\n"
+ 'title' => 'TempUpgradeCenBandwidthPackageSpec',
+ 'description' => 'Subscription bandwidth packages support temporary upgrade. You can increase the bandwidth for a specified period, responding to traffic fluctuations.'."\n"
."\n"
- .' * If a multicast source is in the **Registering** state, the multicast source is being created. You can query the multicast source but cannot perform other operations on the multicast source.'."\n"
- .' * If a multicast source is in the **Registered** state, the multicast source is created.'."\n"
+ .'The minimum upgrade interval supported is 3 hours. After payment is completed, the bandwidth is immediately upgraded without affecting the service.'."\n"
."\n"
- .'### Prerequisite'."\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"
- .'Before you call `RegisterTransitRouterMulticastGroupSources`, make sure that the vSwitch on which the ENI is created is associated with the multicast domain. For more information, see [AssociateTransitRouterMulticastDomain](~~429778~~).',
- ],
- 'DeregisterTransitRouterMulticastGroupSources' => [
- 'summary' => 'Deletes a multicast source from a multicast group.',
- 'methods' => [
- 'post',
- 'get',
+ .'- 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '129164',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnI6X1AL',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'CenId',
'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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-4266****',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6j****', 'title' => ''],
],
[
- 'name' => 'TransitRouterMulticastDomainId',
+ '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' => [
- 'description' => 'The ID of the multicast domain to which the multicast source belongs.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
+ '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' => [
[
- 'name' => 'GroupIpAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The IP address of the multicast group to which the multicast source belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '239.XX.XX.2',
+ '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' => [
[
- 'name' => 'NetworkInterfaceIds',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'CenId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'A list of multicast source IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The multicast source ID.'."\n"
- ."\n"
- .'You can delete at most five multicast sources from a multicast group in each call.'."\n"
- ."\n"
- .'> This parameter is required.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-p0weuda3lszwzjly****',
- ],
- 'required' => false,
- 'maxItems' => 1000,
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AccessRegionId',
'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 message 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',
- 'default' => 'false',
- ],
+ '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' => [
- 'title' => 'PlainResponse<String>',
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '53E7E8BE-7F4E-5458-ACCA-9B5C1D6A642D',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTransitRouterMulticastDomainId.NotFound',
- 'errorMessage' => 'The specified TransitRouterMulticastDomainId is not found.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainStatus',
- 'errorMessage' => 'Operation is invalid, due to multicast domain not Active.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.MulticastGroup',
- 'errorMessage' => 'The status of MulticastGroup is incorrect.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.NotAllowedDeleteIgmpv2Member',
- 'errorMessage' => 'You cannot delete a multicast source or multicast member of the igmpv2 type.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastGroups',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"53E7E8BE-7F4E-5458-ACCA-9B5C1D6A642D\\"\\n}","errorExample":""},{"type":"xml","example":"<DeregisterTransitRouterMulticastGroupSourcesResponse>\\n <RequestId>53E7E8BE-7F4E-5458-ACCA-9B5C1D6A642D</RequestId>\\n</DeregisterTransitRouterMulticastGroupSourcesResponse>","errorExample":""}]',
- 'title' => 'DeregisterTransitRouterMulticastGroupSources',
- 'description' => '`DeregisterTransitRouterMulticastGroupSources` is an asynchronous operation. After a request a 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 source.'."\n"
+ '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"
- .'* If a multicast source is in the **Deregistering** state, the multicast source is being deleted. You can query the multicast source but cannot perform other operations.'."\n"
- .'* If a multicast source cannot be found, the multicast source is deleted.'."\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"
- .'Before you call DeregisterTransitRouterMulticastGroupSources, make sure that all the request parameters are valid. If a request parameter is invalid, a request ID is returned but the multicast source is not deleted.',
- ],
- 'RegisterTransitRouterMulticastGroupMembers' => [
- 'summary' => 'Creates or adds a multicast member.',
- 'methods' => [
- 'post',
- 'get',
+ .'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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '129161',
- 'abilityTreeNodes' => [
- 'FEATUREcbn05IP8W',
- 'FEATUREcbnI6X1AL',
- ],
- ],
+ '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.'."\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-426655440000',
- ],
- ],
- [
- 'name' => 'TransitRouterMulticastDomainId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the multicast domain to which the multicast members belong.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****',
- ],
+ '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' => 'GroupIpAddress',
+ 'name' => 'All',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '239.XX.XX.2',
- ],
+ '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' => 'NetworkInterfaceIds',
+ 'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of the ENIs.'."\n",
+ 'description' => 'Resource ID. The value of **N** ranges from **1** to **50**.',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-p0weuda3lszwzjly****',
- ],
- 'required' => false,
- 'maxItems' => 1000,
+ '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' => 'PeerTransitRouterMulticastDomains',
+ 'name' => 'TagKey',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of inter-region multicast domains.'."\n",
+ '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' => '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****',
- ],
- 'required' => false,
- 'maxItems' => 1000,
- ],
- ],
- [
- 'name' => 'DryRun',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n"
+ '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"
- .'* **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.'."\n",
- 'type' => 'boolean',
+ .'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' => 'false',
- 'default' => 'false',
+ 'example' => 'FinanceDept',
+ 'maxItems' => 21,
+ 'title' => '',
],
],
[
- 'name' => 'VpcId',
+ 'name' => 'RegionId',
'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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-wz9fusm6zq8uy7cfa****',
- ],
+ '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' => [
- 'title' => 'PlainResponse<String>',
- 'description' => 'The response.'."\n",
+ 'description' => 'The returned result.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0 '],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.GroupIpAddress',
- 'errorMessage' => 'The specified GroupIpAddress is illegal.',
- ],
- [
- 'errorCode' => 'InvalidMulticastDomainId.NotFound',
- 'errorMessage' => 'The specified AttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.MulticastDomainId',
- 'errorMessage' => 'The status of MulticastDomainId is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Cen',
- 'errorMessage' => 'The status of Cen is incorrect.',
- ],
- [
- 'errorCode' => 'InstanceNotExist',
- 'errorMessage' => 'The instance is not exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.PeerMulticastDomainRegion',
- 'errorMessage' => 'Operation is invalid because to peer multicast domain in the same region with multicast domain.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainStatus',
- 'errorMessage' => 'Operation is invalid, due to multicast domain not Active.',
- ],
- [
- 'errorCode' => 'InvalidOperation.BandwidthLimitNotExist',
- 'errorMessage' => 'Operation is invalid because a bandwidth limit not exist.',
- ],
- [
- 'errorCode' => 'AttachmentNotFound',
- 'errorMessage' => '"The attachment does not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.AttachmentId',
- 'errorMessage' => 'The status of AttachmentId is incorrect.',
- ],
- [
- 'errorCode' => 'InstanceExist',
- 'errorMessage' => 'The instance already exists.',
- ],
- [
- 'errorCode' => 'InvalidOperation.NetworkInterfaceNotExist',
- 'errorMessage' => 'Operation is invalid bacause network interface not exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.NTRNetworkInterfaceNotSupport',
- 'errorMessage' => 'Operation is invalid, due to ntr eni not support.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainAssociationNotExist',
- 'errorMessage' => 'Operation is invalid because multicast association domain association not exist.',
- ],
- [
- 'errorCode' => 'InvalidOperation.MulticastDomainAssociationStatus',
- 'errorMessage' => 'Operation is invalid, due to multicast domain association not Active.',
- ],
- [
- 'errorCode' => 'InvalidPeerTrMulticastDomainId.NotFound',
- 'errorMessage' => 'The specified PeerTrMulticastDomainId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.PeerTrMulticastDomainId',
- 'errorMessage' => 'The status of PeerTrMulticastDomainId is incorrect.',
- ],
- [
- 'errorCode' => 'IllegalParam.PeerTrMulticastDomainId',
- 'errorMessage' => 'The specified PeerTrMulticastDomainId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidOperation',
- 'errorMessage' => 'Operation is invalid.',
- ],
- [
- 'errorCode' => 'QuotaFull.MulticastGroupPerDomain',
- 'errorMessage' => 'The number of multicast group has exceed the maximum value that can be created.',
- ],
- [
- 'errorCode' => 'QuotaFull.MulticastMemberPerGroup',
- 'errorMessage' => 'The number of multicast group member has exceed the maximum value that can be created.',
- ],
- [
- 'errorCode' => 'QuotaFull.MulticastPeerMemberPerGroup',
- 'errorMessage' => 'The number of multicast group member peer domain has exceed the maximum value that can be created.',
- ],
- [
- 'errorCode' => 'DryRunOperation',
- 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
- ],
- [
- 'errorCode' => 'InvalidConnectPeerIds.NotFound',
- 'errorMessage' => 'The Connect Peer Ids are invalid.',
- ],
- [
- 'errorCode' => 'InvalidVpcId.NotFound',
- 'errorMessage' => 'The specified VpcId is not found.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.ExistsIgmpv2MemberOnEni',
- 'errorMessage' => 'An igmpv2 multicast source or multicast member already exists on the ENI.',
- ],
- [
- 'errorCode' => 'InvalidVpcId.NotValid',
- 'errorMessage' => 'The specified Vpc is invalid.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.SourceAndMemberPerTransitRouter',
- 'errorMessage' => 'The number of multicast group members and sources has exceed the maximum value that can be created.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastGroups',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
+ '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'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE\\"\\n}","errorExample":""},{"type":"xml","example":"<RegisterTransitRouterMulticastGroupMembersResponse>\\n <RequestId>EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE</RequestId>\\n</RegisterTransitRouterMulticastGroupMembersResponse>","errorExample":""}]',
- '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"
- ."\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"
- ."\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.'."\n",
- ],
- 'DisableCenVbrHealthCheck' => [
- 'summary' => 'Disables the health check feature for a virtual border router (VBR).',
- 'methods' => [
- 'post',
- 'get',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
+ ],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -31585,536 +22849,557 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'docRequired' => true,
- 'example' => 'cen-sjfoejfghhjgghjghkg****',
- 'required' => true,
- 'type' => 'string',
- ],
+ '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' => 'VbrInstanceRegionId',
+ 'name' => 'DryRun',
'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.'."\n",
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- 'required' => true,
- 'type' => 'string',
- ],
+ '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' => 'VbrInstanceId',
+ 'name' => 'TrafficQosPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VBR.'."\n",
- 'docRequired' => true,
- 'example' => 'vbr-wz95o9aylj181n5****',
- 'required' => true,
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'qos-eczzew0v1kzrb5****'],
],
[
- 'name' => 'VbrInstanceOwnerId',
+ 'name' => 'TrafficQosPolicyName',
'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.'."\n",
- 'example' => '1250123456123456',
- 'format' => 'int64',
- 'required' => false,
- 'type' => 'integer',
- ],
+ '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 ID of the request.'."\n",
- 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A',
- 'type' => 'string',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '5B8465FF-E697-5D3D-AAD5-0B4EEADFDB27'],
],
- 'type' => 'object',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableCenVbrHealthCheckResponse>\\n <RequestId>A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A</RequestId>\\n</DisableCenVbrHealthCheckResponse>","errorExample":""}]',
- '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.'."\n",
- 'extraInfo' => ' ',
- 'title' => 'DisableCenVbrHealthCheck',
- ],
- 'EnableCenVbrHealthCheck' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '72430',
+ 'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
],
'parameters' => [
[
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-hahhfskfkseig****',
- ],
- ],
- [
- 'name' => 'VbrInstanceRegionId',
+ 'name' => 'ClientToken',
'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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-shenzhen',
- ],
+ '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' => 'VbrInstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VBR.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vbr-wz95o9aylj181n5mzk****',
- ],
- ],
- [
- 'name' => 'HealthCheckSourceIp',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The source IP address for the health check. You can set the source IP address in 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"
- .'* **Custom IP Address**: You must specify an idle 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 be the IP address of the VBR on the Alibaba Cloud side, the IP address of the VBR on the customer side, or other IP addresses with which the VBR communicates through the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => '192.XX.XX.1',
- ],
+ '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' => 'HealthCheckTargetIp',
+ 'name' => 'QosQueueId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The destination IP address for the health check.'."\n"
- ."\n"
- .'Set the destination IP address to the IP address of the VBR on the customer side.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '10.XX.XX.1',
- ],
+ 'schema' => ['description' => 'The queue ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'qos-queue-nv2vfzqkewhk4t****', 'title' => ''],
],
[
- 'name' => 'VbrInstanceOwnerId',
+ 'name' => 'QosQueueName',
'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.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1250123456123456',
- ],
+ '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' => 'HealthCheckInterval',
+ 'name' => 'QosQueueDescription',
'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**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '3',
- 'minimum' => '1',
- 'example' => '2',
- ],
+ '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' => 'HealthyThreshold',
+ 'name' => 'RemainBandwidthPercent',
'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**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '8',
- 'minimum' => '3',
- 'example' => '8',
- ],
+ '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' => 'HealthCheckOnly',
+ 'name' => 'Bandwidth',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable probing during the health check. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- ."\n"
- .' If you enable probing, the system does not switch to another route if the detected route is not reachable. '."\n"
- ."\n"
- .' Make sure that a redundant route is available. Otherwise, network disconnections may occur. '."\n"
- ."\n"
- .'* **false** (default): no'."\n"
- ."\n"
- .' Probing is disabled by default. If a redundant route is specified, the system switches to the redundant route if the detected route is not reachable. '."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'fasle',
- ],
+ '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' => 'Description',
+ 'name' => 'Dscps',
'in' => 'query',
- 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The description of the health check.'."\n"
+ '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"
- .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
+ .'You can enter up to 20 DSCP values at a time.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'required' => false,
- 'example' => 'testdesc',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '1F59F19C-EFD2-40B1-94D5-65B40CA8E34A',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'RouteConflict',
- 'errorMessage' => 'The specified route already exists.',
- ],
- [
- 'errorCode' => 'Illegal.SourceIpOrTargetIp',
- 'errorMessage' => 'The specified source IP address 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.',
- ],
- [
- 'errorCode' => 'OperationFailed.SourceIpUnSupported',
- 'errorMessage' => 'The specified source IP address is unsupported.',
- ],
- [
- 'errorCode' => 'InvalidStatus.HealthCheck',
- 'errorMessage' => 'Can not modify, please delete health check config first.',
- ],
- [
- 'errorCode' => 'OperationFailed.IpAddressExhausted',
- 'errorMessage' => 'No IP addresses are available for allocation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
+ ['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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1F59F19C-EFD2-40B1-94D5-65B40CA8E34A\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A\\",\\n \\"CenId\\": \\"Cen-atlpf6evc5kqchpma5\\",\\n \\"VbrId\\": \\"vbr-il7ldy0ux6rb15lc2snrw\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"SourceIp\\": \\"10.10.10.10\\",\\n \\"TargetIp\\": \\"10.10.10.11\\",\\n \\"PacketNum\\": \\"3\\",\\n \\"Status\\": \\"Enable\\"\\n}"},{"type":"xml","example":"<EnableCenVbrHealthCheckResponse>\\r\\n<RequestId>1F59F19C-EFD2-40B1-94D5-65B40CA8E34A</RequestId>\\r\\n</EnableCenVbrHealthCheckResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<EnableCenVbrHealthCheckResponse>\\n <RequestId>A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A</RequestId>\\n <CenId>Cen-atlpf6evc5kqchpma5</CenId>\\n <VbrId>vbr-il7ldy0ux6rb15lc2snrw </VbrId>\\n <RegionId>cn-hangzhou</RegionId>\\n <SourceIp>10.10.10.10</SourceIp>\\n <TargetIp>10.10.10.11</TargetIp>\\n <PacketNum>3</PacketNum>\\n <Status>Enable </Status>\\n</EnableCenVbrHealthCheckResponse>"}]',
- 'title' => 'EnableCenVbrHealthCheck',
- 'summary' => 'Enables the health check feature for a virtual border router (VBR) to detect anomalies on Express Connect circuits. You can modify the health check configuration of a VBR based on business requirements.',
- 'description' => 'You can enable the health check feature for a VBR to monitor the Express Connect circuit between your data center and Alibaba Cloud. This helps you detect connection issues in a timely manner.'."\n"
- ."\n"
- .'Before you use the health check feature, take note of the following information:'."\n"
- ."\n"
- .'* If your VBR uses static routing, you must add a static route for the data center that is connected to the VBR after you configure the health check feature. Set the destination CIDR block to the source IP address of health checks, set the mask length to 32, and set the next hop to the IP address of the VBR on the Alibaba Cloud side.'."\n"
- .'* If your VBR uses dynamic Border Gateway Protocol (BGP) routing, you do not need to add routes for the data center.'."\n"
- .'* **EnableCenVbrHealthCheck** 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 health check configurations are returned, health check is configured or modified.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","type":"json"}]',
],
- 'DescribeCenVbrHealthCheck' => [
- 'summary' => 'Queries the health check configurations of virtual border routers (VBRs) in a region.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateTrafficMarkingPolicyAttribute' => [
+ 'summary' => 'Modifies the name, description, and traffic classification rules of a traffic marking policy.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '72432',
+ 'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
],
'parameters' => [
[
- 'name' => 'CenId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-6hpdgj7ni6pz1k****',
- ],
+ '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' => 'VbrInstanceRegionId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the VBRs are 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',
- ],
+ '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' => 'VbrInstanceId',
+ 'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VBR.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vbr-bp1kznorjeembsuhl****',
- ],
+ 'schema' => ['description' => 'The ID of the traffic marking policy.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-u9nxup5kww5po8****', 'title' => ''],
],
[
- 'name' => 'VbrInstanceOwnerId',
+ 'name' => 'TrafficMarkingPolicyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the VBRs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1250123456123456',
- ],
+ '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' => 'PageNumber',
+ '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 number of the page to return. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ '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,
- 'example' => '1',
- 'default' => '1',
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'PageSize',
+ 'name' => 'DeleteTrafficMatchRules',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ '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,
- 'example' => '10',
- 'default' => '10',
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'B8C9702E-304A-4E18-AC89-BE2D91C2C176',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'VbrHealthChecks' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'VbrHealthCheck' => [
- 'description' => 'The health check configuration of the VBR.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HealthCheckTargetIp' => [
- 'description' => 'The destination IP address of the health check.'."\n",
- 'type' => 'string',
- 'example' => '192.XX.XX.1',
- ],
- 'VbrInstanceId' => [
- 'description' => 'The VBR ID.'."\n",
- 'type' => 'string',
- 'example' => 'vbr-bp1kznorjeembsuhl****',
- ],
- 'VbrInstanceRegionId' => [
- 'description' => 'The ID of the region where the VBR is deployed.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-6hpdgj7ni6pz1k****',
- ],
- 'HealthyThreshold' => [
- 'description' => 'The number of probe packets that are sent during the health check.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '8',
- ],
- 'HealthCheckInterval' => [
- 'description' => 'The time interval at which probe packets are sent during the health check. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'HealthCheckSourceIp' => [
- 'description' => 'The source IP address of the health check.'."\n",
- 'type' => 'string',
- 'example' => '172.XX.XX.1',
- ],
- 'HealthCheckOnly' => [
- 'description' => 'Indicates whether probing is enabled. Valid values:'."\n"
- ."\n"
- .'* **true**: Probing is enabled.'."\n"
- ."\n"
- .' If you enable probing, the system does not switch to another route if the detected route is not reachable.'."\n"
- ."\n"
- .'* **false**: Probing is disabled.'."\n"
- ."\n"
- .' If probing is disabled and a redundant route is specified, the system switches to the redundant route when the detected route is not reachable.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'Description' => [
- 'description' => 'The description.'."\n",
- 'type' => 'string',
- 'example' => 'healthcheck_description',
- ],
- ],
- 'description' => 'The health check configuration.',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeCenVbrHealthCheckResponse>\\n <PageSize>10</PageSize>\\n <RequestId>B8C9702E-304A-4E18-AC89-BE2D91C2C176</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <VbrHealthChecks>\\n <HealthCheckTargetIp>192.XX.XX.1</HealthCheckTargetIp>\\n <VbrInstanceId>vbr-bp1kznorjeembsuhl****</VbrInstanceId>\\n <VbrInstanceRegionId>cn-hangzhou</VbrInstanceRegionId>\\n <CenId>cen-6hpdgj7ni6pz1k****</CenId>\\n <HealthyThreshold>8</HealthyThreshold>\\n <HealthCheckInterval>2</HealthCheckInterval>\\n <HealthCheckSourceIp>172.XX.XX.1</HealthCheckSourceIp>\\n <HealthCheckOnly>false</HealthCheckOnly>\\n </VbrHealthChecks>\\n</DescribeCenVbrHealthCheckResponse>","errorExample":""}]',
- 'title' => 'DescribeCenVbrHealthCheck',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateFlowlog' => [
- 'summary' => 'Creates a flow log.',
- 'methods' => [
- 'post',
- 'get',
+ '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":"<UpdateTrafficMarkingPolicyAttributeResponse>\\n <RequestId>60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC</RequestId>\\n</UpdateTrafficMarkingPolicyAttributeResponse>","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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -32122,390 +23407,112 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '72303',
- 'abilityTreeNodes' => [
- 'FEATUREcbnKD6E3I',
- 'FEATUREcbnMGIE06',
- ],
- ],
+ '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 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****',
- ],
- ],
- [
- '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' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'FlowLogName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The flow log name.'."\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' => 'myFlowlog',
- ],
- ],
- [
- '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',
- ],
- ],
- [
- 'name' => 'CenId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
- ],
- [
- 'name' => 'ProjectName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The project that stores the captured traffic data.'."\n"
- ."\n"
- .'* If a project is already created in the selected region, enter the name of the project.'."\n"
- ."\n"
- .'* If no projects are created in the selected region, enter a name and the system automatically creates a project.'."\n"
- ."\n"
- .' The project name must be unique in a region. You cannot change the name after the project is created. The name must meet the following requirements:'."\n"
- ."\n"
- .' * The name must be globally unique.'."\n"
- .' * The name can contain only lowercase letters, digits, and hyphens (-).'."\n"
- .' * The name must start and end with a lowercase letter or a digit.'."\n"
- .' * The name must be 3 to 63 characters in length,'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'FlowLogProject',
- ],
+ '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' => 'LogStoreName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The Logstore that stores the captured traffic data.'."\n"
- ."\n"
- .'* If a Logstore is already created in the selected region, enter the name of the Logstore.'."\n"
- ."\n"
- .'* If no Logstores are created in the selected region, enter a name and the system automatically creates a Logstore. The name of the Logstore. The name must meet the following requirements:'."\n"
- ."\n"
- .' * The name must be unique in a project.'."\n"
- .' * The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n"
- .' * The name must start and end with a lowercase letter or a digit.'."\n"
- .' * The name must be 3 to 63 characters in length,'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'FlowLogStore',
- ],
- ],
- [
- 'name' => 'Interval',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The time window for collecting log data. Unit: seconds. Valid values: **60** and **600**. Default value: **600**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '600',
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC connection, VPN connection, VBR connection, ECR connection, or inter-region connection.'."\n"
- ."\n"
- .'If you create the flow log for a transfer router, skip this parameter.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-r6g0m3epjehw57****',
- ],
+ '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 transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-bp1rmwxnk221e3fas****',
- ],
+ 'schema' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-uf654ttymmljlvh2x****', 'title' => ''],
],
[
- 'name' => 'LogFormatString',
+ 'name' => 'TransitRouterName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The strings that define the fields in the flow log.'."\n"
- ."\n"
- .'Format: `${Field 1}${Field 2}${Field 3}...{Field n}`'."\n"
- ."\n"
- .'* If you do not configure this parameter, all fields are included in the flow log.'."\n"
- .'* If you configure this parameter, start the string with `${srcaddr}${dstaddr}${bytes}` because `${srcaddr}${dstaddr}${bytes}` are required variables. For more information about the fields supported by flow logs, see [Configure a flow log](~~339822~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '${srcaddr}${dstaddr}${bytes}',
- 'maxLength' => 1000,
- ],
+ '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' => 'Tag',
+ 'name' => 'TransitRouterDescription',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags.'."\n"
- ."\n"
- .'You can specify at most 20 tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tags.'."\n"
- ."\n"
- .'You can specify at most 20 tags.'."\n",
- '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. The tag keys 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',
- ],
- 'Value' => [
- 'description' => 'The tag values.'."\n"
- ."\n"
- .'The tag values can be an empty string or up to 128 characters in length. The tag values 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',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'FlowLogId' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'flowlog-m5evbtbpt****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E9963DD7-998B-4F92-892D-8293CB49EE81', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ProjectOrLogstoreNotExist',
- 'errorMessage' => 'The specified project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'SourceProjectNotExist',
- 'errorMessage' => 'The Source Project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.action',
- 'errorMessage' => 'This action is not support.',
- ],
- [
- 'errorCode' => 'RuleExist',
- 'errorMessage' => 'The rule has already existed.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.FlowlogCount',
- 'errorMessage' => 'This user has reached the maximum instance number of flowlog.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.exist',
- 'errorMessage' => 'This cenId already has flowlog instance existed.',
- ],
- [
- 'errorCode' => 'Flowlog.AlreayExist',
- 'errorMessage' => 'This attachment already has existed flowlog instance.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitRouterAttachmentId',
- 'errorMessage' => 'TransitRouterAttachmentId is illegal.',
- ],
- [
- 'errorCode' => 'InvalidTransitRouterAttachmentId.NotFound',
- 'errorMessage' => 'The TransitRouterAttachmentId is not found.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.flowlog',
- 'errorMessage' => 'This action is not allowed in the current flow log status.',
- ],
- [
- 'errorCode' => 'InvalidOperation.TransitRouterNotExist',
- 'errorMessage' => 'Operation is invalid because the transit router not exist.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterAttachmentId',
- 'errorMessage' => 'The resource is not in a valid state for the attachment operation.',
- ],
- [
- 'errorCode' => 'ProjectExist',
- 'errorMessage' => 'Project already exist, please try a different project name.',
- ],
- [
- 'errorCode' => 'InvalidParameter.ProjectName',
- 'errorMessage' => 'Project name is invalid or does not belong to specified region.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrFlowlog',
- 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.',
- ],
- [
- 'errorCode' => 'OperationInvalid.IncompatibleFlowlogExist',
- 'errorMessage' => 'Operation is invalid because incompatible flowlog config exists.',
- ],
- [
- 'errorCode' => 'InvalidParameter.LogFormatString',
- 'errorMessage' => 'LogFormatString is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.LogStoreName',
- 'errorMessage' => 'Specified 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.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TransitRouterInstance',
- 'errorMessage' => 'The status of TransitRouter is incorrect.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.CenId',
- 'errorMessage' => 'The specified parameter CenId is invalid.',
- ],
+ ['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.'],
],
- 403 => [
- [
- 'errorCode' => 'NoPermission.AliyunServiceRoleForTRFlowLog',
- 'errorMessage' => 'You are not authorized to create service linked role AliyunServiceRoleForTRFlowLog.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs',
- 'callbackInterval' => 3000,
- 'maxCallbackTimes' => 30,
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"Success\\": \\"true\\",\\n \\"FlowLogId\\": \\"flowlog-m5evbtbpt****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateFlowlogResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B457</RequestId>\\n <Success>true</Success>\\n <FlowLogId>flowlog-m5evbtbpt****</FlowLogId>\\n</CreateFlowlogResponse>","errorExample":""}]',
- 'title' => 'CreateFlowlog',
- 'description' => 'Flow logs can be used to capture traffic information about transit routers and network instance connections, including inter-region connections, virtual private cloud (VPC) connections, VPN connections, Express Connect Router (ECR) connections, and virtual border router (VBR) connections. Before you create a flow log, take note of the following items:'."\n"
- ."\n"
- .'* Flow logs are supported only by Enterprise Edition transit routers.'."\n"
- ."\n"
- .'* Flow logs are used to capture information about outbound traffic on transit routers. Information about inbound traffic on transit routers 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). After you enable the flow log feature for the transit router in the US (Virginia) region, you can check the log entries about packets sent from the ECS instance in the US (Virginia) region to the ECS instance in the US (Silicon Valley) region. However, packets sent from the ECS instance in the US (Silicon Valley) region to the ECS instance in the US (Virginia) region are not recorded. If you want to record the packets sent from the ECS instance in the US (Silicon Valley) region to the ECS instance in the US (Virginia) region, you must also enable the flow log feature on the transit router that is in the US (Silicon Valley) region.'."\n"
- ."\n"
- .'* If you use a flow log to capture traffic information about VPC connections, the flow log captures information only about traffic on the elastic network interface (ENI) of the transit router. For more information about how to view traffic information about other ENIs in the VPC, see [VPC flow log overview](~~127150~~).'."\n"
- ."\n"
- .'* `CreateFlowLog` 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 `DescribeFlowlogs` operation to query the status of a flow log.'."\n"
- ."\n"
- .' * If the flow log is in the **Creating** state, the flow log is being created. In this case, you can query the flow log but cannot perform other operations.'."\n"
- .' * If the flow log is in the **Active** state, the flow log is created.'."\n"
- ."\n"
- .'### [](#)Prerequisites'."\n"
+ '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"
- .'Required resources are created. For more information about how to create resources, see the following topics:'."\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"
- .'* [CreateTransitRouterVpcAttachment](~~468237~~)'."\n"
- .'* [CreateTransitRouterEcrAttachment](~~2715446~~)'."\n"
- .'* [CreateTransitRouterVpnAttachment](~~468249~~)'."\n"
- .'* [CreateTransitRouterVbrAttachment](~~468243~~)'."\n"
- .'* [CreateTransitRouterPeerAttachment](~~468270~~)'."\n"
- .'* [CreateTransitRouter](~~468222~~)'."\n",
+ .'- If a TransitRouter instance is in the **Active** state, the modification is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteFlowlog' => [
- 'summary' => 'Deletes a flow log.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2022-11-21T06:21:50.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -32513,168 +23520,110 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72323',
- 'abilityTreeNodes' => [
- 'FEATUREcbnKD6E3I',
- 'FEATUREcbnMGIE06',
- ],
- ],
+ '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 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-42665544****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'TransitRouterAttachmentId',
'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' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the ECR attachment.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
- 'name' => 'FlowLogId',
+ 'name' => 'TransitRouterAttachmentName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'flowlog-m5evbtbpt****',
- ],
+ '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' => 'CenId',
+ '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 ID of the Cloud Enterprise Network (CEN) instance.'."\n",
+ '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,
- 'docRequired' => false,
- 'example' => 'cen-7qthudw0ll6jmc****',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'Success' => [
- 'description' => 'Indicates whether the call is successful.'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ProjectOrLogstoreNotExist',
- 'errorMessage' => 'The specified project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'SourceProjectNotExist',
- 'errorMessage' => 'The Source Project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.action',
- 'errorMessage' => 'This action is not support.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.FlowlogCount',
- 'errorMessage' => 'This user has reached the maximum instance number of flowlog.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.exist',
- 'errorMessage' => 'This cenId already has flowlog instance existed.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.NotFound',
- 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.flowlog',
- 'errorMessage' => 'Invalid flowlog status.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrFlowlog',
- 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.FlowLogId',
- 'errorMessage' => 'The specified parameter FlowLogId is invalid.',
- ],
- [
- 'errorCode' => 'InvalidOperation.RelatedTrafficAnalyzerExists',
- 'errorMessage' => 'The FlowLog has related Traffic Analyzer instance.',
- ],
+ ['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' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteFlowlogResponse>\\n <Success>true</Success>\\n <RequestId>F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1</RequestId>\\n</DeleteFlowlogResponse>","errorExample":""}]',
- 'title' => 'DeleteFlowlog',
- 'description' => '`DeleteFlowlog` 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"
+ '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 a flow log is in the **Deleting** state, the flow log is being deleted. In this case, you can query the flow log but cannot perform other operations.'."\n"
- .'* If a flow log cannot be found, the flow log is deleted.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ModifyFlowLogAttribute' => [
- 'summary' => 'Modifies the name, description, and capture window of a flow log.',
- 'methods' => [
- 'post',
- 'get',
+ .'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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -32686,627 +23635,405 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72413',
- 'abilityTreeNodes' => [
- 'FEATUREcbnKD6E3I',
- 'FEATUREcbnMGIE06',
- ],
+ '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 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 for each API request may be different.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-42665544****',
- ],
+ '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' => 'FlowLogName',
+ 'name' => 'TransitRouterAttachmentId',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myFlowlog',
- ],
+ 'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-ft94dcrbc3e5taun3x', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'TransitRouterAttachmentName',
'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://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myFlowlog',
- ],
+ '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' => 'RegionId',
+ 'name' => 'TransitRouterAttachmentDescription',
'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' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'FlowLogId',
+ 'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'flowlog-m5evbtbpt****',
- ],
+ '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' => 'CenId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The CEN instance ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ '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' => 'Interval',
+ 'name' => 'Bandwidth',
'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' => 'int64',
- 'required' => false,
- 'example' => '600',
- ],
+ '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.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'Success' => [
- 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '9A411874-2EC8-4633-9D30-9012DCE89DD1',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter.FlowLogId',
- 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.flowlog',
- 'errorMessage' => 'Invalid flowlog status.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidOperation.IntervalMismatch',
- 'errorMessage' => 'The interval of FlowLog should be less than or equal to the interval of related Traffic Analyzer.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"9A411874-2EC8-4633-9D30-9012DCE89DD1\\"\\n}","type":"json"}]',
- 'title' => 'ModifyFlowLogAttribute',
- 'description' => '`ModifyFlowLogAttribute` 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"
+ ['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 a flow log is in the **Modifying** state, the flow log is being modified. In this case, you can query the flow log but cannot perform other operations.'."\n"
- .'* If a flow log is in the **Active** state, the flow log is modified.',
+ .'- 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' => ' ',
- ],
- 'DescribeFlowlogs' => [
- 'summary' => 'Queries flow logs.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '72360',
- 'abilityTreeNodes' => [
- 'FEATUREcbnKD6E3I',
- 'FEATUREcbnMGIE06',
- 'FEATUREcbnWRIR8E',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClientToken',
+ 'name' => 'TransitRouterRouteEntryId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'rte-ksssq7kto4wfdx****'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'TransitRouterRouteEntryName',
'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',
- ],
+ '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' => 'FlowLogName',
+ 'name' => 'TransitRouterRouteEntryDescription',
'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',
- ],
+ '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' => 'FlowLogId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'flowlog-m5evbtbpt****',
- ],
+ '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' => 'Description',
+ 'name' => 'DryRun',
'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',
- ],
+ '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'],
],
- [
- 'name' => 'CenId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-7qthudw0ll6jmc****',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E'],
+ ],
+ 'description' => '',
+ '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',
- ],
+ ],
+ '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' => ''],
],
- [
- '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' => 'UpdateTransitRouterRouteEntry',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTransitRouterRouteEntry'],
],
+ 'product' => ['code' => 'cbn', 'title' => '云企业网'],
+ ],
+ 'ramActions' => [
[
- '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',
+ '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' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
+ 'parameters' => [
[
- 'name' => 'PageSize',
+ 'name' => 'TransitRouterRouteTableId',
'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',
- ],
+ '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' => 'Tag',
+ 'name' => 'TransitRouterRouteTableName',
'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',
- ],
- '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',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => 'TransitRouterAttachmentId',
+ 'name' => 'TransitRouterRouteTableDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network instance connection.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-attach-qieks13jnt1cchy****',
- ],
+ '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' => 'TransitRouterId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-uf654ttymmljlvh2x****',
- ],
+ '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' => 'Interval',
+ 'name' => 'DryRun',
'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',
- ],
+ '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' => 'FlowLogVersion',
+ 'name' => 'RouteTableOptions',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The flow log version.'."\n"
- ."\n"
- .'Flow logs are automatically created in the latest version, which is **3**.'."\n",
- 'type' => 'string',
+ '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,
- 'example' => '3',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'string',
- 'example' => '20',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- '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',
- ],
- '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',
- ],
- 'FlowLogName' => [
- 'description' => 'The name of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'myFlowlog',
- ],
- 'Description' => [
- 'description' => 'The description of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'myFlowlog',
- ],
- 'ProjectName' => [
- 'description' => 'The name of the project that stores the captured traffic data.'."\n",
- 'type' => 'string',
- 'example' => 'FlowLogProject',
- ],
- 'CenId' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
- 'LogStoreName' => [
- 'description' => 'The Logstore that stores the captured traffic data.'."\n",
- 'type' => 'string',
- 'example' => 'FlowLogStore',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'FlowLogId' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'flowlog-m5evbtbpt****',
- ],
- 'TransitRouterAttachmentId' => [
- 'description' => 'The ID of the network instance connection'."\n",
- 'type' => 'string',
- 'example' => 'tr-attach-5x4o4ynzuqbv6g****',
- ],
- 'TransitRouterId' => [
- 'description' => 'The ID of the transit router.'."\n",
- 'type' => 'string',
- 'example' => 'tr-bp1g9313sx675zr1lajmj',
- ],
- '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}',
- ],
- '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',
- ],
- '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',
- ],
- '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',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'TagValue',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9D6D5548-F271-41C4-AA9F-A62F5599085B', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationUnsupported.action',
- 'errorMessage' => 'This action is not support.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.NotFound',
- 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'InvalidDescription',
- 'errorMessage' => 'Description is invalid.',
- ],
- [
- 'errorCode' => 'InvalidName',
- 'errorMessage' => 'Name is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.Interval',
- 'errorMessage' => 'Interval is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter.FlowLogVersion',
- 'errorMessage' => 'Flowlog version is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- '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":"<DescribeFlowlogsResponse>\\n <PageSize>20</PageSize>\\n <PageNumber>1</PageNumber>\\n <RequestId>F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1</RequestId>\\n <TotalCount>1</TotalCount>\\n <Success>true</Success>\\n <FlowLogs>\\n <Status>Active</Status>\\n <CreationTime>2021-07-24T13:00:52Z</CreationTime>\\n <FlowLogName>myFlowlog</FlowLogName>\\n <Description>myFlowlog</Description>\\n <ProjectName>FlowLogProject</ProjectName>\\n <CenId>cen-7qthudw0ll6jmc****</CenId>\\n <LogStoreName>FlowLogStore</LogStoreName>\\n <RegionId>cn-hangzhou</RegionId>\\n <FlowLogId>flowlog-m5evbtbpt****</FlowLogId>\\n <Tags>\\n <Key>TagKey</Key>\\n <Value>TagValue</Value>\\n </Tags>\\n </FlowLogs>\\n</DescribeFlowlogsResponse>","errorExample":""}]',
- 'title' => 'DescribeFlowlogs',
+ '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' => ' ',
- ],
- 'ActiveFlowLog' => [
- 'summary' => 'Enables a flow log. After the flow log is enabled, the system collects traffic information about a specified resource.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2023-01-10T12:57:33.000Z', 'description' => 'Request parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -33314,167 +24041,129 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '72280',
- 'abilityTreeNodes' => [
- 'FEATUREcbnKD6E3I',
- 'FEATUREcbnMGIE06',
- ],
- ],
+ '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 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-42665544****',
- ],
+ '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' => 'RegionId',
+ 'name' => 'TransitRouterAttachmentId',
'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' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the VBR connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-oyf70wfuorwx87****', 'title' => ''],
],
[
- 'name' => 'FlowLogId',
+ 'name' => 'TransitRouterAttachmentName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'flowlog-m5evbtbpt****',
- ],
+ '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' => 'CenId',
+ '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' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
'type' => 'string',
- 'required' => false,
- 'example' => 'cen-7qthudw0ll6jmc****',
+ 'example' => 'PayByCenOwner',
+ 'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
+ 'description' => '',
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'Success' => [
- 'description' => 'Indicates whether the call is successful.'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91B36DC3-FF8A-45C3-AC1E-456B1789136D', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ProjectOrLogstoreNotExist',
- 'errorMessage' => 'The specified project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'SourceProjectNotExist',
- 'errorMessage' => 'The Source Project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.action',
- 'errorMessage' => 'This action is not support.',
- ],
- [
- 'errorCode' => 'RuleExist',
- 'errorMessage' => 'The rule has already existed.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.FlowlogCount',
- 'errorMessage' => 'This user has reached the maximum instance number of flowlog.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.exist',
- 'errorMessage' => 'This cenId already has flowlog instance existed.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.NotFound',
- 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.flowlog',
- 'errorMessage' => 'Invalid flowlog status.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrFlowlog',
- 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.FlowLogId',
- 'errorMessage' => 'The specified parameter FlowLogId 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' => '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' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","errorExample":""},{"type":"xml","example":"<ActiveFlowLogResponse>\\n <Success>true</Success>\\n <RequestId>F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1</RequestId>\\n</ActiveFlowLogResponse>","errorExample":""}]',
- 'title' => 'ActiveFlowLog',
- 'description' => '* After you create a flow log, it is enabled by default. You can call this operation to enable a disabled flow log.'."\n"
+ '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"
- .'* `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"
+ .'- 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 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"
- .' * If a flow log is in the **Active** state, the flow log is enabled.',
+ .'- If a VBR connection is in the **Attached** state, the modification is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeactiveFlowLog' => [
- 'summary' => 'Disables a flow log. A disabled flow log no longer captures information about network traffic.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-04-26T06:48:12.000Z', 'description' => 'Request parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => [],
@@ -33486,306 +24175,272 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '72312',
- 'abilityTreeNodes' => [
- 'FEATUREcbnKD6E3I',
- 'FEATUREcbnMGIE06',
- ],
+ '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 client token that is used to ensure the idempotence of the request.'."\n"
+ '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"
- .'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"
+ .'**ipv6Support**: Specifies whether to enable IPv6.'."\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 is different.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ .'- **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' => 'RegionId',
+ 'name' => 'AutoPublishRouteEnabled',
'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' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'FlowLogId',
+ 'name' => 'Options',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'flowlog-m5evbtbpt****',
+ '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' => 'CenId',
+ 'name' => 'OrderType',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the CEN instance.'."\n",
+ 'description' => 'The billing method.',
'type' => 'string',
+ 'example' => 'PayByCenOwner',
+ 'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
+ 'title' => '',
'required' => false,
- 'docRequired' => false,
- 'example' => 'cen-7qthudw0ll6jmc****',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'Success' => [
- 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '7E61D334-4025-41EF-9145-FC327B35301D', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ProjectOrLogstoreNotExist',
- 'errorMessage' => 'The specified project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'SourceProjectNotExist',
- 'errorMessage' => 'The Source Project or logstore does not exist.',
- ],
- [
- 'errorCode' => 'OperationUnsupported.action',
- 'errorMessage' => 'This action is not support.',
- ],
- [
- 'errorCode' => 'RuleExist',
- 'errorMessage' => 'The rule has already existed.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.FlowlogCount',
- 'errorMessage' => 'This user has reached the maximum instance number of flowlog.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.exist',
- 'errorMessage' => 'This cenId already has flowlog instance existed.',
- ],
- [
- 'errorCode' => 'InvalidFlowlogId.NotFound',
- 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.flowlog',
- 'errorMessage' => 'Invalid flowlog status.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.TrFlowlog',
- 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.FlowLogId',
- 'errorMessage' => 'The specified parameter FlowLogId is invalid.',
- ],
+ ['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.'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 20,
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","errorExample":""},{"type":"xml","example":"<DeactiveFlowLogResponse>\\n <Success>true</Success>\\n <RequestId>F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1</RequestId>\\n</DeactiveFlowLogResponse>","errorExample":""}]',
- 'title' => 'DeactiveFlowLog',
- 'description' => '`DeactiveFlowLog` 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"
+ '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 flow log is in the **Modifying** state, the flow log is being disabled. You can query the flow log but cannot perform other operations.'."\n"
- .'* If a flow log is in the **Inactive** state, the flow log is disabled.'."\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' => ' ',
- ],
- 'ListTagResources' => [
- 'summary' => 'Queries the information about tags that are added to a Cloud Enterprise Network (CEN) instance.',
- 'methods' => [
- 'post',
- 'get',
+ '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' => '云企业网'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'ResourceType',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource to which you want to add the tag. Valid values:'."\n"
- ."\n"
- .'**Cen**: CEN instance'."\n"
- ."\n"
- .'**BandwidthPackage**: bandwidth plan'."\n"
- ."\n"
- .'**TransitRouter**: transit router'."\n"
- ."\n"
- .'**TransitRouterVpcAttachment**: virtual private cloud (VPC) connection'."\n"
- ."\n"
- .'**TransitRouterVbrAttachment**: virtual border router (VBR) connection'."\n"
- ."\n"
- .'**TransitRouterPeerAttachment**: inter-region connection'."\n"
- ."\n"
- .'**TransitRouterVpnAttachment**: VPN connection'."\n"
- ."\n"
- .'**TransitRouterRouteTable**: route table'."\n"
- ."\n"
- .'**Flowlog**: flow log'."\n"
- ."\n"
- .'**TransitRouterMulticastDomain**: multicast domain'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen',
- ],
+ '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' => 'NextToken',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n"
- .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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' => 'PageSize',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the VPC connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tr-attach-9bbqyygouv4cpn****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'AddZoneMappings',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of the CEN instances.'."\n"
- ."\n"
- .'You can specify at most 20 IDs in each call.'."\n",
+ 'description' => 'The zones and vSwitches that you want to add to the VPC connection.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The IDs of the CEN instances.'."\n"
+ 'description' => 'The ID of the vSwitch that you want to add to the VPC connection.'."\n"
."\n"
- .'You can specify at most 20 IDs in each call.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'cen-8z69wtwqel33lq****',
+ 'title' => '',
],
'required' => false,
- 'example' => 'cen-8z69wtwqel33lq****',
- 'maxItems' => 21,
+ 'maxItems' => 10,
+ 'title' => '',
],
],
[
- 'name' => 'Tag',
+ 'name' => 'RemoveZoneMappings',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The information about the tags that are added to the CEN instance.'."\n"
- ."\n"
- .'You can query at most 20 tags in each call.'."\n",
+ 'description' => 'The zones and vSwitches that you want to remove from the VPC connection.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The information about the tags that are added to the CEN instance.'."\n"
+ 'description' => 'The zones and vSwitches that you want to remove from the VPC connection.'."\n"
."\n"
- .'You can query at most 20 tags in each call.'."\n",
+ .'You can specify at most 10 pairs of zones and vSwitches in each call.'."\n",
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n"
- ."\n"
- .'The tag key cannot exceed 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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n"
- ."\n"
- .'The tag value cannot exceed 128 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 values.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Bp',
- ],
+ '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' => 21,
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the resource is deployed.'."\n"
- ."\n"
- .'You can ignore this parameter if ResourceType is set to Cen or BandwidthPackage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ 'maxItems' => 10,
+ 'title' => '',
],
],
],
@@ -33795,782 +24450,4879 @@
'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token that determines the start point of the query. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** was not returned, it indicates that no additional results exist.'."\n"
- .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '165B5C86-2033-5954-A89D-4CD83BA06C85',
- ],
- 'TagResources' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'TagResource' => [
- 'description' => 'A list of resources and tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ResourceType' => [
- 'description' => 'The type of the resource. Valid values:'."\n"
- ."\n"
- .'**Cen**: CEN instance'."\n"
- ."\n"
- .'**BandwidthPackage**: bandwidth plan'."\n"
- ."\n"
- .'**TransitRouter**: transit router'."\n"
- ."\n"
- .'**TransitRouterVpcAttachment**: virtual private cloud (VPC) connection'."\n"
- ."\n"
- .'**TransitRouterVbrAttachment**: virtual border router (VBR) connection'."\n"
- ."\n"
- .'**TransitRouterPeerAttachment**: inter-region connection'."\n"
- ."\n"
- .'**TransitRouterVpnAttachment**: VPN connection'."\n"
- ."\n"
- .'**TransitRouterRouteTable**: route table'."\n"
- ."\n"
- .'**Flowlog**: flow log'."\n"
- ."\n"
- .'**TransitRouterMulticastDomain**: multicast domain'."\n",
- 'type' => 'string',
- 'example' => 'CEN',
- ],
- 'TagValue' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'Bp',
- ],
- 'ResourceId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-8z69wtwqel33lq****',
- ],
- 'TagKey' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '595AE52F-49FF-5788-A677-0DD1467941A1', 'title' => ''],
],
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'InvalidTagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'MissingParam',
- 'errorMessage' => '%s',
- ],
- [
- 'errorCode' => 'InvalidInstanceType.NotFound',
- 'errorMessage' => 'The instance type is not found',
- ],
- [
- 'errorCode' => 'InvalidInstanceIds.NotFound',
- 'errorMessage' => 'The instanceIds are not found',
- ],
- [
- 'errorCode' => 'Forbidden.TagKeys',
- 'errorMessage' => 'The request do not allow to operate the tag keys',
- ],
- [
- 'errorCode' => 'QuotaExceeded.TagNum',
- 'errorMessage' => 'Custom Tags quota exceeded',
- ],
- [
- 'errorCode' => 'InvalidTagScope.NotFound',
- 'errorMessage' => 'The tag scope is not found',
- ],
- [
- 'errorCode' => 'Forbidden.NotAllowedCategary',
- 'errorMessage' => 'The System tag is not valid',
- ],
- [
- 'errorCode' => 'SizeLimitExceeded.ResourceIdNum',
- 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 20',
- ],
- [
- 'errorCode' => 'BothEmpty.TagsAndResources',
- 'errorMessage' => 'Both of Tags and ResourceIds is empty.',
- ],
- [
- 'errorCode' => 'IllegalParam.NextToken',
- 'errorMessage' => 'The parameter NextToken is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified region is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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' => ''],
],
],
- '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"}]',
- 'title' => 'ListTagResources',
- 'description' => 'To call this operation, you must set at least one of **ResourceId.N** and **Tag.N.Key**.'."\n"
- ."\n"
- .'* If you set only **ResourceId.N**, the tags that are added to the specified CEN instances are returned.'."\n"
- ."\n"
- .'* If you set only **Tag.N.Key**, the CEN instances that have the specified tags are returned.'."\n"
+ '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"
- .'* If you set both **ResourceId.N** and **Tag.N.Key**, the specified tags that are added to the specified CEN instances are returned.'."\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"
- .' * Make sure that the CEN instance specified by **ResourceId.N** has the tag specified by **Tag.N.Key**. Otherwise, the response returns null.'."\n"
- .' * If multiple tag keys are specified, the logical operator among these tag keys is **AND**.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'TagResources' => [
- 'summary' => 'Creates tags and adds them to a resource.',
- 'methods' => [
- 'post',
- 'get',
+ .' * 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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ResourceType',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource. Set the value to **cen**, which specifies a CEN instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'enumValueTitles' => [],
- 'example' => 'cen',
- ],
+ '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' => 'ResourceId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of the resources. You can enter most at 20 resource IDs.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the resource.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-pfa6ugf3xl0qsd****',
- ],
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen-7qthudw0ll6jmc****',
- 'maxItems' => 21,
- ],
+ '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' => 'Tag',
+ 'name' => 'TransitRouterAttachmentId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The list of tags that you want to associate with the resources.',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n"
- ."\n"
- .'You can enter multiple tag keys. Valid values of **N**: **1** to **20**.'."\n"
- ."\n"
- .'The key cannot exceed 64 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'TagKey',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n"
- ."\n"
- .'Each tag key corresponds to a tag value. Valid values of **N**: **1** to **20**.'."\n"
- ."\n"
- .'The value cannot exceed 128 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'TagValue',
- ],
- ],
- 'required' => true,
- 'docRequired' => true,
- ],
- 'required' => true,
- 'docRequired' => true,
- 'maxItems' => 21,
- ],
+ 'schema' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-a6p8voaodog5c0****', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ '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' => [
- 'description' => 'The ID of the region.'."\n",
'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ 'example' => 'PayByCenOwner',
+ 'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
+ 'title' => '',
+ 'description' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1AB038F2-96E5-560B-9F6E-734311D466FA', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'InvalidTagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'MissingParam',
- 'errorMessage' => '%s',
- ],
- [
- 'errorCode' => 'InvalidInstanceType.NotFound',
- 'errorMessage' => 'The instance type is not found',
- ],
- [
- 'errorCode' => 'InvalidInstanceIds.NotFound',
- 'errorMessage' => 'The instanceIds are not found',
- ],
- [
- 'errorCode' => 'Forbidden.TagKeys',
- 'errorMessage' => 'The request do not allow to operate the tag keys',
- ],
- [
- 'errorCode' => 'QuotaExceeded.TagNum',
- 'errorMessage' => 'Custom Tags quota exceeded',
- ],
- [
- 'errorCode' => 'InvalidTagScope.NotFound',
- 'errorMessage' => 'The tag scope is not found',
- ],
- [
- 'errorCode' => 'Forbidden.NotAllowedCategary',
- 'errorMessage' => 'The System tag is not valid',
- ],
- [
- 'errorCode' => 'SizeLimitExceeded.ResourceIdNum',
- 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 20',
- ],
- [
- 'errorCode' => 'MissingParameter.TagValue',
- 'errorMessage' => 'The specified parameter TagValue is missing',
- ],
- [
- 'errorCode' => 'DuplicatedParam.TagKey',
- 'errorMessage' => 'The parameter TagKey is duplicated.',
- ],
- [
- 'errorCode' => 'IllegalParamLength.Tag',
- 'errorMessage' => 'The specified length of Tag is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified region is invalid.',
- ],
- [
- 'errorCode' => 'MissingParameter.TagKey',
- 'errorMessage' => 'TagKey must be specified.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\r\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\r\\n</TagResourcesResponse>","errorExample":""}]',
- 'title' => 'TagResources',
- 'description' => '* Each tag consists of a tag key and a tag value. When you add a tag, you must specify the tag key and tag value.'."\n"
- .'* If you want to add multiple tags to a Cloud Enterprise Network (CEN) instance, each tag key must be unique.'."\n"
- .'* You can add at most 20 tags to a CEN instance.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'UntagResources' => [
- 'summary' => 'Remove tags from resources.',
- 'methods' => [
- 'post',
- 'get',
+ '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'],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'ResourceType',
+ 'name' => 'CenId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cen',
- ],
+ 'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-sxjfjkjfkjfiein****', 'title' => ''],
],
[
- 'name' => 'All',
+ 'name' => 'ChildInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-rj9gt5nll27onu7****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'ChildInstanceType',
'in' => 'query',
- 'style' => 'repeatList',
'schema' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-7qthudw0ll6jmc****',
- ],
+ '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,
- 'example' => 'cen-7qthudw0ll6jmc****',
- 'maxItems' => 21,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['VPC' => 'VPC'],
+ 'example' => 'VPC',
+ 'title' => '',
],
],
[
- 'name' => 'TagKey',
+ 'name' => 'ChildInstanceRegionId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Name',
- ],
- 'required' => false,
- 'example' => 'FinanceDept',
- 'maxItems' => 21,
- ],
+ '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' => 'RegionId',
+ 'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0 ',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidTagKey',
- 'errorMessage' => 'The tag keys are not valid.',
- ],
- [
- 'errorCode' => 'InvalidTagValue',
- 'errorMessage' => 'The tag values are not valid.',
- ],
- [
- 'errorCode' => 'MissingParam',
- 'errorMessage' => '%s',
- ],
- [
- 'errorCode' => 'InvalidInstanceType.NotFound',
- 'errorMessage' => 'The instance type is not found',
- ],
- [
- 'errorCode' => 'InvalidInstanceIds.NotFound',
- 'errorMessage' => 'The instanceIds are not found',
- ],
- [
- 'errorCode' => 'Forbidden.TagKeys',
- 'errorMessage' => 'The request do not allow to operate the tag keys',
- ],
- [
- 'errorCode' => 'QuotaExceeded.TagNum',
- 'errorMessage' => 'Custom Tags quota exceeded',
- ],
- [
- 'errorCode' => 'InvalidTagScope.NotFound',
- 'errorMessage' => 'The tag scope is not found',
- ],
- [
- 'errorCode' => 'Forbidden.NotAllowedCategary',
- 'errorMessage' => 'The System tag is not valid',
- ],
- [
- 'errorCode' => 'SizeLimitExceeded.ResourceIdNum',
- 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 20',
- ],
- [
- 'errorCode' => 'IllegalParam.Region',
- 'errorMessage' => 'The specified region is invalid.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid parameter.',
- ],
- [
- 'errorCode' => 'Unauthorized',
- 'errorMessage' => 'The AccessKeyId is unauthorized.',
- ],
- [
- 'errorCode' => 'InvalidParameter.TagKeyOrAll',
- 'errorMessage' => 'The specified parameter TagKey or All is invalid.',
- ],
+ ['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.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\r\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\r\\n</UntagResourcesResponse>","errorExample":""}]',
- 'title' => 'UntagResources',
+ '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' => '',
+ ],
[
- 'regionId' => 'ap-southeast-8-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CreateCen'],
+ ],
+ 'createdAt' => '2025-02-17T03:39:40.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'rus-west-1',
- 'endpoint' => 'cbn-share.aliyuncs.com',
+ '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' => '',
],
[
- 'regionId' => 'cn-beijing-finance-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateTransitRouteTableAggregation'],
+ ],
+ 'createdAt' => '2025-01-17T07:57:36.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'us-east-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '',
],
[
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
+ ['description' => 'Error codes changed', 'api' => 'ModifyCenRouteMap'],
+ ],
+ 'createdAt' => '2025-01-02T10:04:52.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'sa-east-1-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ModifyCenRouteMap'],
+ ],
+ 'createdAt' => '2024-12-10T09:03:24.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-wulanchabu-test-5',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '',
],
[
- 'regionId' => 'cn-shanghai-cloudspe',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
+ ['description' => 'Error codes changed', 'api' => 'SetCenInterRegionBandwidthLimit'],
+ ],
+ 'createdAt' => '2024-12-04T07:56:05.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DescribeCenRegionDomainRouteEntries'],
+ ],
+ 'createdAt' => '2024-12-03T08:43:42.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-wuhan-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'AssociateTransitRouterMulticastDomain'],
+ ],
+ 'createdAt' => '2024-12-02T11:50:35.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'me-central-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'GrantInstanceToTransitRouter'],
+ ],
+ 'createdAt' => '2024-11-28T09:11:20.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-wulanchabu-test-2',
- 'endpoint' => 'cbn-test-pre.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
+ ['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
+ ],
+ 'createdAt' => '2024-11-22T02:32:01.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '',
],
[
- 'regionId' => 'cn-shanghai-ant',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '',
],
[
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '',
],
[
- 'regionId' => 'cn-zhangjiakou-spe',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeCenChildInstanceRouteEntries'],
+ ],
+ 'createdAt' => '2024-10-25T02:45:19.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'ap-south-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ResolveAndRouteServiceInCen'],
+ ],
+ 'createdAt' => '2024-10-24T09:33:08.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-huhehaote-test-3',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DeleteTransitRouter'],
+ ],
+ 'createdAt' => '2024-10-21T11:54:24.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'cn-huhehaote-nebula-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '',
],
[
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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发布',
],
[
- 'regionId' => 'cn-wuhan',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '带宽包链路类型功能暂时关闭',
],
[
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'AssociateCenBandwidthPackage'],
+ ],
+ 'createdAt' => '2022-11-16T07:26:25.000Z',
+ 'description' => '设置审计',
],
[
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UntagResources'],
+ ],
+ 'createdAt' => '2022-11-16T02:52:15.000Z',
+ 'description' => 'tag',
],
[
- 'regionId' => 'cn-nantong',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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参数为非必填',
],
[
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpnAttachments'],
+ ],
+ 'createdAt' => '2022-10-21T15:38:45.000Z',
+ 'description' => 'TR C02 API私有发布',
],
[
- 'regionId' => 'cn-hangzhou-onebox-nebula',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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.',
],
[
- 'regionId' => 'cn-qingdao-acdr-ut-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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',
],
[
- 'regionId' => 'cn-wulanchabu-test-6',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterVpnAttachmentAttribute'],
+ ],
+ 'createdAt' => '2022-10-17T02:12:15.000Z',
+ 'description' => 'TR支持vpn attachment',
],
[
- 'regionId' => 'cn-chengdu-ant',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DeleteCenRouteMap'],
+ ],
+ 'createdAt' => '2022-09-30T09:30:13.000Z',
+ 'description' => '增加错误码',
],
[
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeGrantRulesToCen'],
+ ],
+ 'createdAt' => '2022-09-23T10:29:18.000Z',
+ 'description' => '增加返回CenOwnerId',
],
[
- 'regionId' => 'cn-taiyuan',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListTransitRouterPrefixListAssociation'],
+ ],
+ 'createdAt' => '2022-09-23T07:46:31.000Z',
+ 'description' => 'ListTransitRouterPrefixListAssociation add a response param.',
],
[
- 'regionId' => 'us-west-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeGrantRulesToResource'],
+ ],
+ 'createdAt' => '2022-09-22T15:44:58.000Z',
+ 'description' => '1. DescribeGrantRulesToCen接口增加可选的分页能力2. 新增VPC视角的DescribeGrantRulesToResource跨账号授权展示接口',
],
[
- 'regionId' => 'cn-heyuan',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListTransitRouterMulticastDomainAssociations'],
+ ['description' => 'Request parameters changed', 'api' => 'ListTransitRouterMulticastDomains'],
+ ],
+ 'createdAt' => '2022-09-20T11:29:04.000Z',
+ 'description' => 'ListTransitRouterMulticastDomains和ListTransitRouterMulticastDomainAssociations下线Dryrun参数',
],
[
- 'regionId' => 'ap-southeast-7-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '配置记录返回值开关',
],
[
- 'regionId' => 'cn-taiwan-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListTransitRouterAvailableResource'],
+ ],
+ 'createdAt' => '2022-08-31T06:46:51.000Z',
+ 'description' => 'ListTransitRouterAvailableResource增加就近访问的资源列表',
],
[
- 'regionId' => 'rus-west-1-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterPrefixListAssociation'],
+ ['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
+ ],
+ 'createdAt' => '2022-08-26T07:57:21.000Z',
+ 'description' => 'update param docRequried',
],
[
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
+ ],
+ 'createdAt' => '2022-08-26T07:16:49.000Z',
+ 'description' => 'Change param \'NextHopType\' visibility to Public for DeleteTransitRouterPrefixListAssociation .',
],
[
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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 改为非必填--增加了错误码',
],
[
- 'regionId' => 'cn-xian',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'RegisterTransitRouterMulticastGroupMembers'],
+ ['description' => 'Request parameters changed', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
+ ],
+ 'createdAt' => '2022-08-17T07:05:55.000Z',
+ 'description' => '',
],
[
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeCenRouteMaps'],
+ ],
+ 'createdAt' => '2022-08-05T03:28:43.000Z',
+ 'description' => 'DescribeCenRouteMaps接口返回值新增MatchAddressType字段。',
],
[
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterVpnAttachment'],
+ ],
+ 'createdAt' => '2022-07-26T12:22:46.000Z',
+ 'description' => 'Vpn Attachment API更新',
],
[
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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,默认不指定匹配所有路由。',
],
[
- 'regionId' => 'rsa-north-1-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateTransitRouterVpnAttachmentAttribute'],
+ ],
+ 'createdAt' => '2022-07-04T09:20:59.000Z',
+ 'description' => '更新UpdateTransitRouterVpnAttachment',
],
[
- 'regionId' => 'cn-hangzhou-internal-test-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '错误码映射',
],
[
- 'regionId' => 'cn-hangzhou-internal-test-2',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'EnableCenVpcFlowStatistic'],
+ ],
+ 'createdAt' => '2022-06-08T06:46:01.000Z',
+ 'description' => '修改开启基础版CEN VPC流量统计功能接口参数类型',
],
[
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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流量统计功能',
],
[
- 'regionId' => 'cn-north-2-gov-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
+ ],
+ 'createdAt' => '2022-04-29T07:04:50.000Z',
+ 'description' => 'OpenAPI发布新接口AddTrafficMatchRuleToTrafficMarkingPolicy,和AddTraficMatchRuleToTrafficMarkingPolicy接口功能一致,仅对名称进行更正,建议后续开发使用新接口。',
],
[
- 'regionId' => 'cn-hangzhou-acdr-ut-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ListTransitRouterMulticastDomainVSwitches'],
+ ['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
+ ],
+ 'createdAt' => '2022-04-29T02:13:47.000Z',
+ 'description' => '- Update multicast domain apis.',
],
[
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterVbrAttachmentAttribute'],
+ ],
+ 'createdAt' => '2022-04-26T06:54:51.000Z',
+ 'description' => '设置UpdateTransitRouterVbrAttachmentAttribute API中AutoPublishRouteEnabled参数对外全部可见',
],
[
- 'regionId' => 'ap-southeast-2',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed, Error codes changed', 'api' => 'DescribeCenRouteMaps'],
+ ],
+ 'createdAt' => '2022-04-21T04:05:45.000Z',
+ 'description' => '查询路由策略支持路由表粒度',
],
[
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CreateCen'],
+ ],
+ 'createdAt' => '2022-02-28T07:28:55.000Z',
+ 'description' => 'CreateCen的Action参数修改为必填',
],
[
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '增加错误码映射',
],
[
- 'regionId' => 'cn-wulanchabu-acdr-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ListTransitRouters'],
+ ['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
+ ],
+ 'createdAt' => '2021-12-31T03:27:50.000Z',
+ 'description' => 'tr 支持多az',
],
[
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ListGrantVSwitchesToCen'],
+ ],
+ 'createdAt' => '2021-12-22T02:33:49.000Z',
+ 'description' => '支持Darabonba',
],
[
- 'regionId' => 'cn-hangzhou-internal-test-3',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '增加部分接口的错误码映射',
],
[
- 'regionId' => 'ap-southeast-6-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '增加部分接口的错误码展示',
],
[
- 'regionId' => 'ap-northeast-2-pop',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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付费方式。',
],
[
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DescribeCenInterRegionBandwidthLimits'],
+ ],
+ 'createdAt' => '2021-12-07T15:35:36.000Z',
+ 'description' => 'DescribeCenInterRegionBandwidthLimits入参Action更新为必填参数',
],
[
- 'regionId' => 'cn-chengdu-smarthosting-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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健康检查失败时不联动切换路由到备份冗余链路。',
],
[
- 'regionId' => 'cn-huhehaote-test-4',
- 'endpoint' => 'cbn.aliyuncs.com',
+ 'apis' => [
+ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeGrantRulesToCen'],
+ ],
+ 'createdAt' => '2021-12-01T09:27:42.000Z',
+ 'description' => '增加Attachment分账能力',
],
[
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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' => '增加隐藏接口',
],
[
- 'regionId' => 'na-south-1',
- 'endpoint' => 'cbn.aliyuncs.com',
+ '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/*'],
],
],
];