diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/zh_cn/cbn | |
| download | acs-metadata-full-1.0.0+20260212.tar.gz acs-metadata-full-1.0.0+20260212.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/zh_cn/cbn')
| -rw-r--r-- | data/zh_cn/cbn/2017-09-12/api-docs.php | 34724 |
1 files changed, 34724 insertions, 0 deletions
diff --git a/data/zh_cn/cbn/2017-09-12/api-docs.php b/data/zh_cn/cbn/2017-09-12/api-docs.php new file mode 100644 index 0000000..eb361e4 --- /dev/null +++ b/data/zh_cn/cbn/2017-09-12/api-docs.php @@ -0,0 +1,34724 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'Cbn', + 'version' => '2017-09-12', + ], + 'directories' => [ + [ + 'id' => 58521, + 'title' => '云企业网实例', + 'type' => 'directory', + 'children' => [ + 'CreateCen', + 'DeleteCen', + 'ModifyCenAttribute', + 'DescribeCens', + 'DescribeGrantRulesToResource', + 'MoveResourceGroup', + ], + ], + [ + 'id' => 174108, + 'title' => '转发路由器实例', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouter', + 'DeleteTransitRouter', + 'UpdateTransitRouter', + 'ListTransitRouters', + 'ListTransitRouterAvailableResource', + 'OpenTransitRouterService', + 'CheckTransitRouterService', + 'GrantInstanceToTransitRouter', + 'RevokeInstanceFromTransitRouter', + ], + ], + [ + 'id' => 175780, + 'title' => '转发路由地址段', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterCidr', + 'DeleteTransitRouterCidr', + 'ModifyTransitRouterCidr', + 'ListTransitRouterCidr', + 'ListTransitRouterCidrAllocation', + ], + ], + [ + 'id' => 174109, + 'title' => '网络实例连接', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 174110, + 'title' => '专有网络连接', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterVpcAttachment', + 'DeleteTransitRouterVpcAttachment', + 'UpdateTransitRouterVpcAttachmentAttribute', + 'UpdateTransitRouterVpcAttachmentZones', + 'ListTransitRouterVpcAttachments', + ], + ], + [ + 'id' => 190414, + 'title' => '专线网关连接', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterEcrAttachment', + 'DeleteTransitRouterEcrAttachment', + 'UpdateTransitRouterEcrAttachmentAttribute', + 'ListTransitRouterEcrAttachments', + ], + ], + [ + 'id' => 174112, + 'title' => 'VPN连接', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterVpnAttachment', + 'DeleteTransitRouterVpnAttachment', + 'UpdateTransitRouterVpnAttachmentAttribute', + 'ListTransitRouterVpnAttachments', + ], + ], + [ + 'id' => 174111, + 'title' => '边界路由器连接', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterVbrAttachment', + 'DeleteTransitRouterVbrAttachment', + 'UpdateTransitRouterVbrAttachmentAttribute', + 'ListTransitRouterVbrAttachments', + ], + ], + 'AttachCenChildInstance', + 'DetachCenChildInstance', + 'DescribeCenAttachedChildInstanceAttribute', + 'DescribeCenAttachedChildInstances', + 'DescribeChildInstanceRegions', + 'DescribeGrantRulesToCen', + 'ListGrantVSwitchesToCen', + ], + ], + [ + 'id' => 58532, + 'title' => '带宽包', + 'type' => 'directory', + 'children' => [ + 'CreateCenBandwidthPackage', + 'DeleteCenBandwidthPackage', + 'ModifyCenBandwidthPackageAttribute', + 'ModifyCenBandwidthPackageSpec', + 'DescribeCenGeographicSpanRemainingBandwidth', + 'DescribeCenBandwidthPackages', + 'DescribeCenGeographicSpans', + 'DescribeGeographicRegionMembership', + 'TempUpgradeCenBandwidthPackageSpec', + 'UnassociateCenBandwidthPackage', + 'AssociateCenBandwidthPackage', + ], + ], + [ + 'id' => 175781, + 'title' => '跨地域连接', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterPeerAttachment', + 'DeleteTransitRouterPeerAttachment', + 'SetCenInterRegionBandwidthLimit', + 'UpdateTransitRouterPeerAttachmentAttribute', + 'ListTransitRouterPeerAttachments', + 'DescribeCenInterRegionBandwidthLimits', + ], + ], + [ + 'id' => 174005, + 'title' => '管理路由', + 'type' => 'directory', + 'children' => [ + 'CreateCenChildInstanceRouteEntryToAttachment', + 'CreateCenChildInstanceRouteEntryToCen', + 'DeleteCenChildInstanceRouteEntryToAttachment', + 'DeleteCenChildInstanceRouteEntryToCen', + 'ListCenChildInstanceRouteEntriesToAttachment', + 'DescribeCenRegionDomainRouteEntries', + 'DescribeCenChildInstanceRouteEntries', + 'DescribePublishedRouteEntries', + 'DescribeRouteConflict', + 'PublishRouteEntries', + 'WithdrawPublishedRouteEntries', + ], + ], + [ + 'id' => 58547, + 'title' => '转发路由器路由表', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterRouteTable', + 'DeleteTransitRouterRouteTable', + 'UpdateTransitRouterRouteTable', + 'ListTransitRouterRouteTables', + ], + ], + [ + 'id' => 174010, + 'title' => '转发路由器路由条目', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterRouteEntry', + 'DeleteTransitRouterRouteEntry', + 'UpdateTransitRouterRouteEntry', + 'ListTransitRouterRouteEntries', + ], + ], + [ + 'id' => 174015, + 'title' => '关联转发关系', + 'type' => 'directory', + 'children' => [ + 'ListTransitRouterRouteTableAssociations', + 'AssociateTransitRouterAttachmentWithRouteTable', + 'ReplaceTransitRouterRouteTableAssociation', + 'DissociateTransitRouterAttachmentFromRouteTable', + ], + ], + [ + 'id' => 174020, + 'title' => '路由学习关系', + 'type' => 'directory', + 'children' => [ + 'EnableTransitRouterRouteTablePropagation', + 'DisableTransitRouterRouteTablePropagation', + 'ListTransitRouterRouteTablePropagations', + ], + ], + [ + 'id' => 174025, + 'title' => '路由策略', + 'type' => 'directory', + 'children' => [ + 'CreateCenRouteMap', + 'DeleteCenRouteMap', + 'ModifyCenRouteMap', + 'DescribeCenRouteMaps', + ], + ], + [ + 'id' => 178435, + 'title' => '聚合路由', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouteTableAggregation', + 'ModifyTransitRouteTableAggregation', + 'DeleteTransitRouteTableAggregation', + 'RefreshTransitRouteTableAggregation', + 'DescribeTransitRouteTableAggregationDetail', + 'DescribeTransitRouteTableAggregation', + ], + ], + [ + 'id' => 58567, + 'title' => '前缀列表', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterPrefixListAssociation', + 'DeleteTransitRouterPrefixListAssociation', + 'ListTransitRouterPrefixListAssociation', + ], + ], + [ + 'id' => 174029, + 'title' => '流量调度', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 174034, + 'title' => '流量标记策略', + 'type' => 'directory', + 'children' => [ + 'AddTraficMatchRuleToTrafficMarkingPolicy', + 'AddTrafficMatchRuleToTrafficMarkingPolicy', + 'ModifyTrafficMatchRuleToTrafficMarkingPolicy', + 'CreateTrafficMarkingPolicy', + 'DeleteTrafficMarkingPolicy', + 'UpdateTrafficMarkingPolicyAttribute', + 'ListTrafficMarkingPolicies', + 'RemoveTraficMatchRuleFromTrafficMarkingPolicy', + 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy', + ], + ], + [ + 'id' => 174043, + 'title' => '流量调度策略', + 'type' => 'directory', + 'children' => [ + 'CreateCenInterRegionTrafficQosQueue', + 'CreateCenInterRegionTrafficQosPolicy', + 'DeleteCenInterRegionTrafficQosQueue', + 'DeleteCenInterRegionTrafficQosPolicy', + 'UpdateCenInterRegionTrafficQosQueueAttribute', + 'UpdateCenInterRegionTrafficQosPolicyAttribute', + 'ListCenInterRegionTrafficQosPolicies', + 'ListCenInterRegionTrafficQosQueues', + ], + ], + ], + ], + [ + 'id' => 174033, + 'title' => '云服务', + 'type' => 'directory', + 'children' => [ + 'DeleteRouteServiceInCen', + 'DescribeRouteServicesInCen', + 'ResolveAndRouteServiceInCen', + ], + ], + [ + 'id' => 58572, + 'title' => 'PrivateZone', + 'type' => 'directory', + 'children' => [ + 'DescribeCenPrivateZoneRoutes', + 'UnroutePrivateZoneInCenToVpc', + 'RoutePrivateZoneInCenToVpc', + ], + ], + [ + 'id' => 58576, + 'title' => '组播', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 175782, + 'title' => '组播域', + 'type' => 'directory', + 'children' => [ + 'CreateTransitRouterMulticastDomain', + 'DeleteTransitRouterMulticastDomain', + 'ModifyTransitRouterMulticastDomain', + 'ListTransitRouterMulticastDomains', + 'ListTransitRouterMulticastDomainAssociations', + 'ListTransitRouterMulticastDomainVSwitches', + 'AssociateTransitRouterMulticastDomain', + 'DisassociateTransitRouterMulticastDomain', + ], + ], + [ + 'id' => 175783, + 'title' => '组播源和组播成员', + 'type' => 'directory', + 'children' => [ + 'ListTransitRouterMulticastGroups', + 'ListGrantVSwitchEnis', + 'DeregisterTransitRouterMulticastGroupMembers', + 'RegisterTransitRouterMulticastGroupSources', + 'DeregisterTransitRouterMulticastGroupSources', + 'RegisterTransitRouterMulticastGroupMembers', + ], + ], + ], + ], + [ + 'id' => 174051, + 'title' => '健康检查', + 'type' => 'directory', + 'children' => [ + 'DisableCenVbrHealthCheck', + 'EnableCenVbrHealthCheck', + 'DescribeCenVbrHealthCheck', + ], + ], + [ + 'id' => 58556, + 'title' => '流日志', + 'type' => 'directory', + 'children' => [ + 'CreateFlowlog', + 'DeleteFlowlog', + 'ModifyFlowLogAttribute', + 'DescribeFlowlogs', + 'ActiveFlowLog', + 'DeactiveFlowLog', + ], + ], + [ + 'id' => 58560, + 'title' => '标签', + 'type' => 'directory', + 'children' => [ + 'ListTagResources', + 'TagResources', + 'UntagResources', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'CreateCen' => [ + 'summary' => '云企业网实例是管理一体化网络的基础资源。一个云企业网实例管理一张网络,可覆盖一个或多个地域。在实现网络实例互通前,您需要先调用CreateCen接口创建一个云企业网实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72295', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + 'FEATUREcbnQOCCBE', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'ProtectionLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '设置网段重叠的级别。'."\n" + ."\n" + .'取值:**REDUCED**(默认值),表示网段可以有重叠,但是不能完全相同。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'REDUCED', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'CenId' => [ + 'description' => '云企业网实例的ID。', + 'type' => 'string', + 'example' => 'cen-dc4vwznpwbobrl****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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' => '创建云企业网实例', + 'description' => '**CreateCen**接口属于异步接口,即系统会先返回一个云企业网实例ID,但该云企业网实例并未创建完成,系统后台的创建任务仍在进行。您可以调用**DescribeCens**接口查询云企业网实例的状态。 '."\n" + ."\n" + .'- 当云企业网实例处于**Creating**状态时,表示云企业网实例正在创建中,在该状态下,您只能对云企业网实例执行查询操作,不能执行其他操作。'."\n" + .'- 当云企业网实例处于**Active**状态时,表示云企业网实例创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteCen' => [ + 'summary' => '调用DeleteCen接口删除云企业网实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72315', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03', + ], + ], + ], + ], + ], + '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' => '删除指定的云企业网实例', + 'description' => '**DeleteCen**接口属于异步接口,即系统会先返回一个**RequestId**,但云企业网实例并未删除完成,系统后台的删除任务仍在进行。您可以调用**DescribeCens**接口查询云企业网实例的状态。 '."\n" + ."\n" + .'- 当云企业网实例处于**Deleting**状态时,表示云企业网实例正在删除中,在该状态下,您只能对云企业网实例执行查询操作,不能执行其他操作。'."\n" + .'- 当查询不到指定的云企业网实例时,表示云企业网实例删除完成。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'在删除云企业网实例前,请确保云企业网实例下不存在带宽包,且云企业网实例的转发路由器下不存在网络实例连接和自定义路由表:'."\n" + ."\n" + .'- 删除网络实例连接,请参见:'."\n" + ."\n" + .' - [DeleteTransitRouterVpcAttachment](~~261220~~)'."\n" + .' - [DeleteTransitRouterVbrAttachment](~~261223~~)'."\n" + .' - [DeleteTransitRouterVpnAttachment](~~443992~~)'."\n" + .' - [DeleteTransitRouterPeerAttachment](~~261227~~)'."\n" + ."\n" + .' > 如果您要删除基础版转发路由器下的网络实例连接,请参见[DetachCenChildInstance](~~65915~~)。'."\n" + .'- 删除企业版转发路由器的自定义路由表,请参见[DeleteTransitRouterRouteTable](~~261235~~)。'."\n" + .'- 解绑云企业网实例的带宽包实例,请参见[UnassociateCenBandwidthPackage](~~65935~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCenAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 云企业网实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen', + ], + ], + [ + 'name' => 'ProtectionLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '设置网段重叠的级别。'."\n" + ."\n" + .'取值:**REDUCED**(默认值),表示网段可以有重叠,但是不能完全相同。', + 'type' => 'string', + 'required' => false, + 'example' => 'REDUCED', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '13526224-5780-4426-8BDF-BC8B08700F22', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '编辑云企业网实例的名称和描述信息', + 'summary' => '调用ModifyCenAttribute接口修改云企业网实例的名称和描述信息。', + 'description' => '**ModifyCenAttribute**接口属于异步接口,即系统会先返回一个**RequestId**,但该云企业网实例并未修改完成,系统后台的修改任务仍在进行。您可以调用**DescribeCens**接口查询云企业网实例的状态。 '."\n" + ."\n" + .'- 当云企业网实例处于**Modifying**状态时,表示云企业网实例正在修改中,在该状态下,您只能对云企业网实例执行查询操作,不能执行其他操作。'."\n" + .'- 当云企业网实例处于**Active**状态时,表示云企业网实例修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCens' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '待查询的页码。默认值:**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。取值范围:**1**~**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfm3unpnuw****', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤条件的信息。'."\n" + ."\n" + .'一次最多支持输入5个过滤条件。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件。取值:'."\n" + ."\n" + .'- **CenId**:云企业网实例ID。'."\n" + .'- **Name**:云企业网实例名称。'."\n" + ."\n" + .'多个过滤条件之间默认是**与**的关系,即必须符合所有过滤条件,才视为匹配过滤条件。'."\n" + ."\n" + .'一次最多支持输入5个过滤条件。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CenId', + ], + 'Value' => [ + 'description' => '过滤条件的值。'."\n" + ."\n" + .'根据**Key**指定过滤值。一个**Key**支持指定多个过滤值,多个过滤值之间是**或**的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。'."\n" + ."\n" + .'一个过滤条件最多支持输入5个过滤值。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤条件的值。'."\n" + ."\n" + .'根据**Key**指定过滤值。一个**Key**支持指定多个过滤值,多个过滤值之间是**或**的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。'."\n" + ."\n" + .'一个过滤条件最多支持输入5个过滤值。', + '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' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2BFA6822-240E-4E27-B4C8-AA400EF7474D', + ], + 'PageNumber' => [ + 'description' => '查询的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Cens' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cen' => [ + 'description' => '云企业网实例信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '云企业网实例的信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '云企业网实例的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Active**:运行中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'CreationTime' => [ + 'description' => '云企业网实例的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'example' => '2019-10-22T07:44Z', + ], + 'Ipv6Level' => [ + 'description' => '云企业网实例是否已开启IPv6功能。'."\n" + ."\n" + .'- **ENABLE**:已开启。'."\n" + .'- **DISABLED**:未开启。', + 'type' => 'string', + 'example' => 'DISABLED', + ], + 'Description' => [ + 'description' => '云企业网实例的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'ResourceGroupId' => [ + 'description' => '云企业网实例所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfm3unpnuw****', + ], + 'CenId' => [ + 'description' => '云企业网实例的ID。', + 'type' => 'string', + 'example' => 'cen-0xyeagctz5sfg9****', + ], + 'ProtectionLevel' => [ + 'description' => '网段重叠的级别。'."\n" + ."\n" + .'**REDUCED**:表示网段可以有重叠,但是不能完全相同。', + 'type' => 'string', + 'example' => 'REDUCED', + ], + 'Name' => [ + 'description' => '云企业网实例的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '云企业网实例绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '云企业网实例绑定的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'tagtest', + ], + ], + ], + ], + ], + ], + 'CenBandwidthPackageIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenBandwidthPackageId' => [ + 'description' => '云企业网实例绑定的带宽包的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '云企业网实例绑定的带宽包的列表。', + 'type' => 'string', + 'example' => 'cenbwp-4c2zaavbvh5f42****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查看账户下所有云企业网实例的详细信息', + 'summary' => '调用DescribeCens接口查询当前阿里云账号下的云企业网实例的状态、是否已开启IPv6功能、实例绑定的带宽包的列表等信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeGrantRulesToResource' => [ + 'summary' => '调用DescribeGrantRulesToResource接口查询网络实例对跨账号云企业网实例的授权信息,包括云企业网实例所属阿里云账号(主账号)、网络实例的付费方等信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '154918', + 'abilityTreeNodes' => [ + 'FEATUREcbnOQ547T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-p0wfut1iqauelpdpb****', + ], + ], + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例类型。取值:'."\n" + ."\n" + .'- **VPC**:表示专有网络VPC(Virtual Private Cloud)实例。'."\n" + .'- **ExpressConnect**:表示边界路由器VBR(Virtual border router)实例。'."\n" + .'- **VPN**:表示IPsec连接。'."\n" + .'- **ECR**:表示专线网关ECR(ExpressConnect Router)实例。', + 'type' => 'string', + 'required' => true, + 'example' => 'VPC', + 'enum' => [ + 'ExpressConnect', + 'VPC', + 'VPN', + 'ECR', + ], + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '- 如果您不指定**MaxResults**参数的值,则表示您不需要分批次查询。调用该接口后返回参数**MaxResults**的值表示列表条目总数。'."\n" + .'- 如果您指定**MaxResults**参数的值,则表示您需要分批次查询,**MaxResults**的值表示分批次查询时每次显示的条目数。取值范围:**1**~**100**。调用该接口后返回参数**MaxResults**的值表示当前查询批次下列表条目的数量。建议指定**MaxResults**参数的值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C6E5992C-A57B-5A6C-9B26-568074DC68BA', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '- 如果您未指定请求参数**MaxResults**的值,则表示您不需要分批次查询。返回参数**MaxResults**的值表示列表条目总数。'."\n" + .'- 如果您指定了请求参数**MaxResults**的值,则表示您需要分批次查询。返回参数**MaxResults**的值表示当前查询批次下列表条目的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'GrantRules' => [ + 'description' => '授权信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '授权信息。', + 'type' => 'object', + 'properties' => [ + 'CenOwnerId' => [ + 'description' => '云企业网实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1250123456123456', + ], + 'OrderType' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示网络实例产生的转发路由器连接费、转发路由器流量处理费由云企业网实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示网络实例产生的转发路由器连接费、转发路由器流量处理费由网络实例所属的账号承担。', + 'type' => 'string', + 'example' => 'PayByCenOwner', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-44m0p68spvlrqq****', + ], + 'CreateTime' => [ + 'description' => '创建授权的时间。'."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2024-01-24T16:46Z', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询网络实例对跨账号云企业网实例的授权信息', + ], + 'MoveResourceGroup' => [ + 'summary' => '调用MoveResourceGroup接口修改云企业网实例或带宽包实例所属的资源组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72414', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e456****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会更改云企业网实例或带宽包实例所属的资源组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '新资源组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'rg-aekzqqurtfg****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'- **cen**:云企业网实例。'."\n" + .'- **bandwidthpackage**:带宽包实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-nye53d7p3hzyu4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1D169236-7C76-57CF-B6C8-B4CACE0BA1BB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.ResourceGroup', + 'errorMessage' => 'The operation cannot be performed on the specified ResourceGroup.', + ], + ], + ], + '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' => '修改云企业网实例或带宽包实例所属的资源组', + 'description' => '云企业网实例和带宽包实例默认归属于默认资源组,您可以通过`MoveResourceGroup`接口修改云企业网实例或带宽包实例所属的资源组。', + ], + 'CreateTransitRouter' => [ + 'summary' => '调用CreateTransitRouter接口创建企业版转发路由器实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72305', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-zhangjiakou', + ], + ], + [ + 'name' => 'TransitRouterName', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例的描述。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次创建请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建企业版转发路由器实例。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建企业版转发路由器实例。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'SupportMulticast', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启企业版转发路由器的组播功能。取值:'."\n" + ."\n" + .'- **false**(默认值):不开启。'."\n" + .'- **true**:开启。'."\n" + ."\n" + .'仅部分地域的企业版转发路由器支持组播功能,您可以调用[ListTransitRouterAvailableResource](~~261356~~)接口查询支持组播功能的地域信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterCidrList', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '转发路由器地址段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '转发路由器地址段列表。'."\n" + ."\n" + .'一次最多支持添加5个转发路由器地址段。关于转发路由器地址段的更多信息,请参见[转发路由器地址段](~~462635~~)。'."\n" + ."\n" + .'>仅企业版转发路由器支持添加地址段。', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => '转发路由器地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/24', + ], + 'Name' => [ + 'description' => '转发路由器地址段的名称。'."\n" + ."\n" + .'名称长度为1~128个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + 'Description' => [ + 'description' => '转发路由器地址段的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + 'PublishCidrRoute' => [ + 'description' => '是否允许系统自动在转发路由器路由表中添加转发路由器地址段的路由。'."\n" + ."\n" + .'- **true**(默认值):允许。'."\n" + .' '."\n" + .' 如果您选择了允许,则在您创建了私网网关类型的VPN连接,并为私网网关类型的VPN连接创建了路由学习关系后,系统自动在与VPN连接建立路由学习关系的转发路由器路由表中添加一条路由条目:'."\n" + ."\n" + .' 目标网段为转发路由器地址段的黑洞路由,其中转发路由器地址段指已为IPsec连接分配网关IP地址的地址段。'."\n" + ."\n" + .' 该黑洞路由仅会被传播至转发路由器下边界路由器VBR(Virtual Border Router)实例的路由表中。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'True', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterId' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-uf6llz2286805i44g****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '404DA7EC-F495-44B5-B543-6EDCDF90F3D1', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '创建企业版转发路由器实例', + 'description' => '- 您可以通过调用**CreateTransitRouter**接口创建企业版转发路由器实例。当前企业版转发路由器只在部分地域开放,关于地域的详细信息,请参见[什么是云企业网](~~181681~~)。'."\n" + .'- **CreateTransitRouter**接口属于异步接口,即系统会先返回一个企业版转发路由器实例ID,但该企业版转发路由器实例并未创建完成,系统后台的创建任务仍在进行。您可以调用[ListTransitRouters](~~261219~~)接口查询企业版转发路由器实例的状态。'."\n" + .' - 当企业版转发路由器实例处于**Creating**状态时,表示企业版转发路由器实例正在创建中,在该状态下,您只能对企业版转发路由器实例执行查询操作,不能执行其他操作。'."\n" + .' - 当企业版转发路由器实例处于**Active**状态时,表示企业版转发路由器实例创建完成。'."\n" + .'- 在一个云企业网实例中一个地域仅支持创建一个转发路由器实例。', + ], + 'DeleteTransitRouter' => [ + 'summary' => '调用DeleteTransitRouter接口删除企业版转发路由器实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72326', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次删除请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接删除转发路由器实例。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除转发路由器实例。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-uf654ttymmljlvh2x****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6DE3EE92-39C8-4BBD-A3AD-F568D74741BB', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Cbn::2017-09-12::ListTransitRouters', + 'callbackInterval' => 5000, + 'maxCallbackTimes' => 20, + ], + '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' => '删除转发路由器实例', + 'description' => '**DeleteTransitRouter**接口属于异步接口,即系统会先返回一个**RequestId**,但该转发路由器实例并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTransitRouters**接口查询转发路由器实例的状态。 '."\n" + ."\n" + .'- 当转发路由器实例处于**Deleting**状态时,表示转发路由器实例正在删除中,在该状态下,您只能对转发路由器实例执行查询操作,不能执行其他操作。'."\n" + .'- 当查询不到指定的转发路由器实例时,表示转发路由器实例删除完成。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'删除转发路由器实例前,请确保满足以下条件:'."\n" + ."\n" + .'- 转发路由器实例下不存在任何连接。'."\n" + .' - 删除专有网络VPC(Virtual Private Cloud)连接,请参见[DeleteTransitRouterVpcAttachment](~~261220~~)。'."\n" + .' - 删除专线网关ECR(Express Connect Router)连接,请参见[DeleteTransitRouterEcrAttachment](~~2715447~~)。'."\n" + .' - 删除云连接网CCN(Cloud Connect Network)连接,请参见[DetachCenChildInstance](~~65915~~)。'."\n" + .' - 删除VPN连接,请参见[DeleteTransitRouterVpnAttachment](~~443992~~)。'."\n" + .' - 删除跨地域连接,请参见[DeleteTransitRouterPeerAttachment](~~261227~~)。'."\n" + .' - 删除边界路由器VBR(Virtual Border Router)连接,请参见[DeleteTransitRouterVbrAttachment](~~261223~~)。'."\n" + .'- 转发路由器实例下不存在自定义路由表。具体操作,请参见[DeleteTransitRouterRouteTable](~~261235~~)。'."\n" + .'- 转发路由器实例默认路由表下不存在自定义路由条目、路由前缀以及聚合路由。具体操作,请参见'."\n" + .' - 删除企业版转发路由器自定义路由条目,请参见[DeleteTransitRouterRouteEntry](~~468291~~)。'."\n" + .' - 解绑前缀列表,请参见[DeleteTransitRouterPrefixListAssociation](~~468312~~)。'."\n" + .' - 删除聚合路由,请参见[DeleteTransitRouteTableAggregation](~~476070~~)。'."\n" + .'- 转发路由器实例下不存在组播域。删除组播域,请参见[DeleteTransitRouterMulticastDomain](~~468386~~)。'."\n" + .'- 转发路由器实例下不存在流量标记策略。删除流量标记策略,请参见[DeleteTrafficMarkingPolicy](~~468324~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTransitRouter' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次修改请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接修改转发路由器实例的信息。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改转发路由器实例的信息。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-uf654ttymmljlvh2x****', + ], + ], + [ + 'name' => 'TransitRouterName', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E9963DD7-998B-4F92-892D-8293CB49EE81', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改转发路由器实例信息', + 'summary' => '调用UpdateTransitRouter接口修改转发路由器实例的名称和描述信息。', + 'description' => '**UpdateTransitRouter**接口属于异步接口,即系统会先返回一个**RequestId**,但转发路由器实例的修改并未完成,系统后台的修改任务仍在进行。您可以调用**ListTransitRouters**接口查询转发路由器实例的状态。 '."\n" + ."\n" + .'- 当转发路由器实例处于**Modifying**状态时,表示转发路由器实例正在修改中,在该状态下,您只能对转发路由器实例执行查询操作,不能执行其他操作。'."\n" + .'- 当转发路由器实例处于**Active**状态时,表示转发路由器实例修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouters' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。取值范围:**1**~**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-uf654ttymmljlvh2x****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Upgrading**:升级中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例的类型。'."\n" + ."\n" + .'- **Enterprise**:企业版。'."\n" + .'- **Basic**:基础版。', + 'type' => 'string', + 'required' => false, + 'example' => 'Enterprise', + ], + ], + [ + 'name' => 'TransitRouterName', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例的名称。'."\n" + ."\n" + .'名称长度为1~128个字符不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'FeatureFilter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '转发路由器功能筛选字段。', + 'type' => 'array', + 'items' => [ + 'description' => '转发路由器功能筛选字段。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '转发路由器功能筛选字段键值。'."\n" + .'目前支持字段:'."\n" + .'- **Multicast**:组播功能。', + 'type' => 'string', + 'required' => false, + 'example' => 'Multicast', + ], + 'Value' => [ + 'description' => '转发路由器功能筛选字段值列表。'."\n" + .'当键值为**Multicast**时,只支持填入1个字段,支持字段内容为:'."\n" + .'- **Enabled**:支持组播。'."\n" + .'- **Disabled**:不支持组播。', + 'type' => 'array', + 'items' => [ + 'description' => '转发路由器功能筛选字段值。'."\n" + .'当键值为**Multicast**时支持字段为:'."\n" + .'- **Enabled**:支持组播。'."\n" + .'- **Disabled**:不支持组播。', + 'type' => 'string', + 'required' => false, + 'example' => 'Enabled', + ], + 'required' => false, + 'maxItems' => 1, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '68521297-5FA6-46CB-B4EB-658F1C68C8CC', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TransitRouters' => [ + 'description' => '转发路由器实例信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '转发路由器实例的信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '转发路由器实例的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'example' => '2021-03-15T09:39Z', + ], + 'Type' => [ + 'description' => '转发路由器实例的类型。'."\n" + ."\n" + .'- **Enterprise**:企业版。'."\n" + .'- **Basic**:基础版。', + 'type' => 'string', + 'example' => 'Enterprise', + ], + 'Status' => [ + 'description' => '转发路由器实例的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Upgrading**:升级中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + 'TransitRouterDescription' => [ + 'description' => '转发路由器实例的描述信息。', + 'type' => 'string', + 'example' => 'testdesc', + ], + 'TransitRouterName' => [ + 'description' => '转发路由器实例的名称。', + 'type' => 'string', + 'example' => 'testname', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-j3jzhw1zpau2km****', + ], + 'AliUid' => [ + 'description' => '云企业网实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'RegionId' => [ + 'description' => '转发路由器实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'SupportMulticast' => [ + 'description' => '转发路由器实例是否开启了组播功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'TransitRouterCidrList' => [ + 'description' => '转发路由器地址段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '转发路由器地址段。', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => '转发路由器地址段。', + 'type' => 'string', + 'example' => '192.168.1.0/24', + ], + 'Name' => [ + 'description' => '转发路由器地址段的名称。', + 'type' => 'string', + 'example' => 'CIDRname', + ], + 'Description' => [ + 'description' => '转发路由器地址段的描述信息。', + 'type' => 'string', + 'example' => 'CIDRdesc', + ], + 'TransitRouterCidrId' => [ + 'description' => '转发路由器地址段ID。', + 'type' => 'string', + 'example' => 'cidr-46p5ceg21e8152****', + ], + 'PublishCidrRoute' => [ + 'description' => '是否允许系统自动在转发路由器路由表中添加转发路由器地址段的路由。'."\n" + ."\n" + .'- **true**:允许。'."\n" + ."\n" + .' 如果当前参数返回值为**true**,则在您创建了私网网关类型的VPN连接,并为私网网关类型的VPN连接创建了路由学习关系后,系统自动在与VPN连接建立路由学习关系的转发路由器路由表中添加一条路由条目:'."\n" + ."\n" + .' 目标网段为转发路由器地址段的黑洞路由,其中转发路由器地址段指已为IPsec连接分配网关IP地址的地址段。'."\n" + .' '."\n" + .' 该黑洞路由仅会被传播至转发路由器下VBR实例的路由表中。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询云企业网实例下转发路由器实例的信息', + 'summary' => '调用ListTransitRouters接口查询云企业网实例下转发路由器实例的实例类型、实例的状态、转发路由器实例ID、是否开启了组播功能等信息。', + 'description' => '在您调用本接口查询云企业网实例下转发路由器实例的信息时,您可以按需填写参数**RegionId**和**TransitRouterId**,关于这两个参数的关系,请参见以下说明:'."\n" + ."\n" + .'- 如果您未输入**RegionId**和**TransitRouterId**的值,则表示您要查询云企业网实例下所有转发路由器实例的信息。'."\n" + .'- 如果您只输入了**RegionId**的值,则表示您要查询云企业网实例指定地域下的转发路由器实例的信息。'."\n" + .'- 如果您只输入了**TransitRouterId**的值,则表示您要查询云企业网实例中指定的转发路由器实例的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouterAvailableResource' => [ + 'summary' => '调用ListTransitRouterAvailableResource接口查询指定地域下企业版转发路由器支持的可用区信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SupportMulticast', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只查询支持组播功能的可用区的信息。'."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .' 开启查询功能后,如果**ListTransitRouterAvailableResource**接口返回结果为空,则表示当前地域的企业版转发路由器不支持组播功能。'."\n" + .'- **false**(默认值):否。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B4F480E0-4E76-5E43-9966-8322C28A158A', + ], + 'SlaveZones' => [ + 'description' => '备可用区ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '备可用区ID列表。'."\n" + ."\n" + .'您可以调用[DescribeZones](~~36064~~)接口查询可用区ID对应的可用区的信息。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + 'MasterZones' => [ + 'description' => '主可用区ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '主可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + ], + 'AvailableZones' => [ + 'description' => '可用区ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-i', + ], + ], + 'SupportMulticast' => [ + 'description' => '是否为支持组播功能的可用区信息。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + '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' => '查询指定地域下企业版转发路由器支持的可用区信息', + 'description' => '- 您可以调用**ListTransitRouterAvailableResource**接口查询指定地域下企业版转发路由器支持的普通可用区的信息或者支持的组播功能的可用区的信息。'."\n" + .' - 如果您未指定**SupportMulticast**参数的值为**true**,则系统默认只查询企业版转发路由器支持的普通可用区的信息。'."\n" + .' - 如果您指定**SupportMulticast**参数的值为**true**,则系统只查询企业版转发路由器支持的组播功能的可用区的信息。'."\n" + .'- 2022年05月31日云企业网对企业版转发路由器连接专有网络VPC(Virtual Private Cloud)的模式进行了优化升级,升级后的企业版转发路由器连接VPC实例时无需指定主备可用区,可任意指定一个或多个可用区。'."\n" + .' - 如果您的企业版转发路由器未经历过升级,在企业版转发路由器连接VPC实例时,您需要指定主备可用区。调用**ListTransitRouterAvailableResource**接口后可以通过**MasterZones**和**SlaveZones**参数获取主备可用区的信息。'."\n" + .' - 如果您的企业版转发路由器经历过升级,在企业版转发路由器连接VPC实例时,您可以指定任意的可用区。调用**ListTransitRouterAvailableResource**接口后可通过**AvailableZones**参数获取企业版转发路由器支持的可用区的信息。'."\n" + ."\n" + .'关于企业版转发路由器升级的信息,请参见[企业版转发路由器连接VPC模式升级](~~434191~~)。', + ], + 'OpenTransitRouterService' => [ + 'summary' => '开通转发路由器服务。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '85448', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,需保证该参数在不同请求间唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '21370700730****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + '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' => '开通转发路由器服务', + 'description' => '您可以调用`OpenTransitRouterService`接口免费开通转发路由器服务。开通转发路由器服务后,系统自动生成一个订单,您可以通过`OpenTransitRouterService`接口返回的订单ID在<props="china">[阿里云控制台订单中心](https://usercenter2.aliyun.com/order/list?pageIndex=1&pageSize=20)</props><props="intl">[阿里云控制台订单中心](https://usercenter2-intl.aliyun.com/order/list)</props>查询订单信息。', + ], + 'CheckTransitRouterService' => [ + 'summary' => '查询当前阿里云账号是否已开通转发路由器服务。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '85449', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,需保证该参数在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '当前阿里云账号是否已开通转发路由器服务。'."\n" + ."\n" + .'- **true**:表示已开通。'."\n" + .'- 如果系统未返回当前参数,则表示当前阿里云账号未开通转发路由器服务,系统会返回对应的提示信息。'."\n" + ."\n" + .' ', + 'type' => 'string', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + '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' => '查询当前阿里云账号是否已开通转发路由器服务', + ], + 'GrantInstanceToTransitRouter' => [ + 'summary' => '在转发路由器实例连接其他账号的网络实例前,需要其他账号的网络实例对转发路由器实例进行授权。调用GrantInstanceToTransitRouter接口为转发路由器实例进行授权。', + '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' => '转发路由器实例所属的云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-44m0p68spvlrqq****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型。取值:'."\n" + ."\n" + .'- **VPC**:表示VPC实例。'."\n" + .'- **ExpressConnect**:表示VBR实例。'."\n" + .'- **VPN**:表示IPsec连接。'."\n" + .'- **ECR**:表示ECR实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CenOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'docRequired' => true, + 'example' => '1250123456123456', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示网络实例产生的费用由云企业网实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示网络实例产生的费用由网络实例所属的账号承担。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByCenOwner', + 'default' => 'PayByCenOwner', + 'enum' => [ + 'PayByCenOwner', + 'PayByResourceOwner', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C6E5992C-A57B-5A6C-9B26-568074DC68BA', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound ', + 'errorMessage' => 'InstanceId is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C6E5992C-A57B-5A6C-9B26-568074DC68BA\\"\\n}","type":"json"}]', + 'title' => '为转发路由器实例授予连接跨账号网络实例的权限', + 'description' => '- `GrantInstanceToTransitRouter`接口仅支持为转发路由器实例授予连接跨账号专有网络VPC(Virtual Private Cloud)实例、边界路由器VBR(Virtual Border Router)实例、IPsec连接和专线网关ECR(ExpressConnect Router)实例的权限。'."\n" + .' '."\n" + .' 如果需要为转发路由器实例授予连接云连接网CCN(Cloud Connect Network)实例的权限,请调用[GrantInstanceToCbn](~~126141~~)接口。'."\n" + ."\n" + .'- 调用`GrantInstanceToTransitRouter`接口前,请确保您已经了解转发路由器的计费规则、授权操作的使用限制以及授权操作的前提条件。更多信息,请参见[跨账号网络实例授权](~~181553~~)。'."\n" + ."\n" + .'- 在进行网络实例授权前,请确保完成以下操作:'."\n" + ."\n" + .' 已确认网络实例所属账号和转发路由器实例所属账号为同一类型。'."\n" + ."\n" + .' 已获取转发路由器实例所属的阿里云账号(主账号)ID。'."\n" + ."\n" + .' 已获取转发路由器实例所属的云企业网实例ID。'."\n" + ."\n" + .' 在操作VBR实例授权前,请您联系客户经理申请开通VBR实例授权功能。'."\n" + ."\n" + .' 在操作IPsec连接授权前,请确保IPsec连接未绑定任何资源:'."\n" + ."\n" + .' 如果IPsec连接已绑定VPN网关实例,则不再支持绑定同账号或者跨账号的转发路由器实例。'."\n" + ."\n" + .' 如果IPsec连接已绑定转发路由器实例,则需先解除绑定关系。具体操作,请参见[删除网络实例连接](~~181554~~)。', + ], + 'RevokeInstanceFromTransitRouter' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-44m0p68spvlrqq****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型。取值:'."\n" + ."\n" + .'- **VPC**:表示VPC实例。'."\n" + .'- **ExpressConnect**:表示VBR实例。'."\n" + .'- **VPN**:表示IPsec连接。'."\n" + .'- **ECR**:表示ECR实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CenOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'docRequired' => true, + 'example' => '1250123456123456', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'AA4BFFD1-5090-5896-935F-4B353557F1A8', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '取消转发路由器实例连接跨账号网络实例的权限', + 'summary' => '调用RevokeInstanceFromTransitRouter接口取消转发路由器实例连接跨账号网络实例的权限。', + 'description' => '`RevokeInstanceFromTransitRouter`接口仅支持取消转发路由器实例连接跨账号专有网络VPC(Virtual Private Cloud)实例、边界路由器VBR(Virtual Border Router)实例、IPsec连接和专线网关ECR(ExpressConnect Router)实例的权限。'."\n" + ."\n" + .'如果需要取消转发路由器实例连接跨账号云连接网CCN(Cloud Connect Network)实例的权限,请调用[RevokeInstanceFromCbn](~~126142~~)接口。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'调用`RevokeInstanceFromTransitRouter`接口前,请确保已解除转发路由器实例和网络实例的连接关系。'."\n" + ."\n" + .'- 解除企业版转发路由器实例与VPC实例的连接关系,请参见[DeleteTransitRouterVpcAttachment](~~261220~~)。'."\n" + .'- 解除企业版转发路由器实例与VBR实例的连接关系,请参见[DeleteTransitRouterVbrAttachment](~~261223~~)。'."\n" + .'- 解除企业版转发路由器实例与IPsec连接的连接关系,请参见[DeleteTransitRouterVpnAttachment](~~443992~~)。'."\n" + .'- 解除企业版转发路由器实例与ECR实例的连接关系,请参见[DeleteTransitRouterEcrAttachment](~~443992~~)。'."\n" + .'- 解除基础版转发路由器实例与网络实例的连接关系,请参见[DetachCenChildInstance](~~65915~~)。', + ], + 'CreateTransitRouterCidr' => [ + 'summary' => '转发路由器地址段是您为转发路由器自定义的一个地址段,该地址段类似于为路由器环回口(Loopback接口)分配IP地址的地址段。您可以调用CreateTransitRouterCidr接口创建转发路由器下CIDR地址段。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146054', + 'abilityTreeNodes' => [ + 'FEATUREcbnT33W0H', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-p0w3x8c9em72a40nw****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建转发路由器地址段。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建转发路由器地址段。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Cidr', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'PublishCidrRoute', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '是否允许系统自动在转发路由器路由表中添加转发路由器地址段的路由。'."\n" + ."\n" + .'- **true**(默认值):允许。'."\n" + .' '."\n" + .' 如果您选择了允许,则在您创建了私网网关类型的VPN连接,并为私网网关类型的VPN连接创建了路由学习关系后,系统自动在与VPN连接建立路由学习关系的转发路由器路由表中添加一条路由条目:'."\n" + .' '."\n" + .' 目标网段为转发路由器地址段的黑洞路由,其中转发路由器地址段指已为IPsec连接分配网关IP地址的地址段。该黑洞路由仅会被传播至转发路由器下VBR实例的路由表中。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'True', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterCidrId' => [ + 'description' => '转发路由器地址段ID。', + 'type' => 'string', + 'example' => 'cidr-0zv0q9crqpntzz****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + ], + ], + ], + ], + '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' => '创建转发路由器下CIDR地址段', + 'description' => '转发路由器地址段是您为转发路由器自定义的一个地址段,该地址段类似于为路由器环回口(Loopback接口)分配IP地址的地址段。转发路由器地址段被用于为网络实例连接分配地址。更多信息,请参见[转发路由器地址段](~~462635~~)。'."\n" + ."\n" + .'**CreateTransitRouterCidr**接口仅适用于在您创建转发路由器后,为转发路由器添加地址段。'."\n" + ."\n" + .'在您创建转发路由器地址段前,请了解以下信息:'."\n" + .'- 仅企业版转发路由器支持配置转发路由器地址段。'."\n" + .'- 转发路由器地址段功能使用限制,请参见[转发路由器地址段使用限制](~~462635~~)。'."\n" + .'- 一个转发路由器最多支持配置5个地址段。每个地址段的子网掩码位数不能少于16位,且不能超过24位。'."\n" + .'- 不支持创建100.64.0.0/10、224.0.0.0/4、127.0.0.0/8、169.254.0.0/16及其子网的地址段。'."\n" + .'- 每个地址段不能与云企业网实例下所有待互通的网段冲突。'."\n" + .'- 同一个云企业网实例下,每个地址段需确保唯一。'."\n" + .'- 为转发路由器添加地址段后,您在转发路由器下创建第一个VPN连接时,系统将自动从地址段中划分出三个网段作为系统保留网段,用于系统后台创建VPN连接,且系统将从地址段剩余的网段中为IPsec连接分配IP地址。'."\n" + ."\n" + .' 您可以调用[ListTransitRouterCidrAllocation](~~464173~~)接口查询系统已保留或者已分配IP地址的网段信息。', + ], + 'DeleteTransitRouterCidr' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-p0w3x8c9em72a40nw****', + ], + ], + [ + 'name' => 'TransitRouterCidrId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段ID。'."\n" + ."\n" + .'您可以通过调用[ListTransitRouterCidr](~~462772~~)接口查询转发路由器地址段ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cidr-0zv0q9crqpntzz****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除转发路由器地址段。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除转发路由器地址段。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除转发路由器下CIDR地址段', + 'summary' => '删除转发路由器下CIDR地址段。', + 'description' => '已经分配地址的转发路由器地址段不支持删除。', + ], + 'ModifyTransitRouterCidr' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-gw8ergozrv77rtbjd****', + ], + ], + [ + 'name' => 'TransitRouterCidrId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段ID。'."\n" + ."\n" + .'您可以通过调用[ListTransitRouterCidr](~~462772~~)接口查询转发路由器地址段ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cidr-0zv0q9crqpntzz****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'Cidr', + 'in' => 'query', + 'schema' => [ + 'description' => '新的转发路由器地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改转发路由器地址段。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改转发路由器地址段。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PublishCidrRoute', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许系统自动在转发路由器路由表中添加转发路由器地址段的路由。'."\n" + ."\n" + .'- **true**:允许。'."\n" + .' '."\n" + .' 如果您选择了允许,则在您创建了私网网关类型的VPN连接,并为私网网关类型的VPN连接创建了路由学习关系后,系统自动在与VPN连接建立路由学习关系的转发路由器路由表中添加一条路由条目:目标网段为转发路由器地址段的黑洞路由,其中转发路由器地址段指已为IPsec连接分配网关IP地址的地址段。'."\n" + .' 该黑洞路由仅会被传播至转发路由器下VBR实例的路由表中。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改转发路由器下的CIDR地址段', + 'summary' => '调用ModifyTransitRouterCidr接口修改转发路由器下的CIDR地址段。', + 'description' => '- 在您修改转发路由器地址段前,建议您先了解[转发路由器地址段使用限制](~~462635~~)。'."\n" + .'- 已经分配地址的转发路由器地址段不支持修改。'."\n" + .'- 调用**ModifyTransitRouterCidr**接口时如果不涉及**PublishCidrRoute**参数修改,当前接口为同步接口,修改后立即生效。'."\n" + .'- 调用**ModifyTransitRouterCidr**接口时如果涉及**PublishCidrRoute**参数修改,当前接口为异步接口,即系统会先返回一个**RequestId**,但转发路由器地址段并未修改完成,系统后台的修改任务仍在进行。您可以调用**ListTransitRouterCidr**接口查询转发路由器地址段的修改状态。'."\n" + .' - 如果转发路由器地址段依旧为修改前的信息,则表示转发路由器地址段在修改中。'."\n" + .' - 如果转发路由器地址段为修改后的信息,则表示转发路由器地址段已修改成功。', + ], + 'ListTransitRouterCidr' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-p0w3x8c9em72a40nw****', + ], + ], + [ + 'name' => 'TransitRouterCidrId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cidr-0zv0q9crqpntzz****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会查询转发路由器已添加的地址段。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接查询转发路由器下已添加的地址段。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + 'CidrLists' => [ + 'description' => '转发路由器地址段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '转发路由器地址段信息。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterCidrId' => [ + 'description' => '转发路由器地址段ID。', + 'type' => 'string', + 'example' => 'cidr-0zv0q9crqpntzz****', + ], + 'Family' => [ + 'description' => '转发路由器地址段类型。'."\n" + ."\n" + .'仅取值:**IPv4**,表示转发路由器地址段为IPv4类型的地址段。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'Name' => [ + 'description' => '转发路由器地址段的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'Description' => [ + 'description' => '转发路由器地址段的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'Cidr' => [ + 'description' => '转发路由器地址段。', + 'type' => 'string', + 'example' => '192.168.10.0/24', + ], + 'PublishCidrRoute' => [ + 'description' => '是否允许系统自动在转发路由器路由表中添加转发路由器地址段的路由。'."\n" + ."\n" + .'- **true**:允许。'."\n" + .' '."\n" + .' 如果当前参数的返回值为**true**,则在您创建了私网网关类型的VPN连接,并为私网网关类型的VPN连接创建了路由学习关系后,系统自动在与VPN连接建立路由学习关系的转发路由器路由表中添加一条路由条目:'."\n" + .' '."\n" + .' 目标网段为转发路由器地址段的黑洞路由,其中转发路由器地址段指已为IPsec连接分配网关IP地址的地址段。'."\n" + .' '."\n" + .' 该黑洞路由仅会被传播至转发路由器下VBR实例的路由表中。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-p0w3x8c9em72a40nw****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询转发路由器下CIDR地址段', + 'summary' => '调用ListTransitRouterCidr接口查询转发路由器下CIDR地址段的信息。', + ], + 'ListTransitRouterCidrAllocation' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-p0w3x8c9em72a40nw****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterCidrId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段ID。'."\n" + ."\n" + .'您可以通过调用[ListTransitRouterCidr](~~462772~~)接口查询转发路由器地址段ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cidr-0zv0q9crqpntzz****', + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段下已分配地址的网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/28', + ], + ], + [ + 'name' => 'Cidr', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'DedicatedOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '专用网段。'."\n" + ."\n" + .'仅取值:**VPN**,表示您要查询系统保留的用于系统后台创建VPN连接的网段。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPN', + ], + ], + [ + 'name' => 'AttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-2nalp6yksc805w****', + ], + ], + [ + 'name' => 'AttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会开始查询转发路由器地址段分配详情。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接查询转发路由器地址段分配详情。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。'."\n" + ."\n" + .'- 如果您不指定**MaxResults**参数的值,则表示您不需要分批次查询。调用该接口后返回参数**MaxResults**的值表示列表条目总数。'."\n" + .'- 如果您指定**MaxResults**参数的值,则表示您需要分批次查询。取值范围:**1**~**100**。建议指定**MaxResults**参数的值为**20**。 '."\n" + ."\n" + .' 调用该接口后返回参数**MaxResults**的值表示当前查询批次下列表条目的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '5', + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。'."\n" + ."\n" + .'- 如果您未指定请求参数**MaxResults**的值,则表示您不需要分批次查询。返回参数**MaxResults**的值表示列表条目总数。'."\n" + .'- 如果您指定了请求参数**MaxResults**的值,则表示您需要分批次查询。返回参数**MaxResults**的值表示当前查询批次下列表条目的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TransitRouterCidrAllocations' => [ + 'description' => '转发路由器地址段分配详情。', + 'type' => 'array', + 'items' => [ + 'description' => '转发路由器地址段分配详情。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterCidrId' => [ + 'description' => '转发路由器地址段ID。', + 'type' => 'string', + 'example' => 'cidr-0zv0q9crqpntzz****', + ], + 'AllocatedCidrBlock' => [ + 'description' => '转发路由器地址段下已分配地址的网段。', + 'type' => 'string', + 'example' => '192.168.10.0/28', + ], + 'AttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-2nalp6yksc805w****', + ], + 'Cidr' => [ + 'description' => '转发路由器地址段。', + 'type' => 'string', + 'example' => '192.168.10.0/24', + ], + 'AttachmentName' => [ + 'description' => '网络实例连接的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询CIDR地址段的分配信息', + 'summary' => '调用ListTransitRouterCidrAllocation接口查询CIDR地址段的分配信息。', + ], + 'CreateTransitRouterVpcAttachment' => [ + 'summary' => '调用CreateTransitRouterVpcAttachment接口将要互通的专有网络VPC(Virtual Private Cloud)实例连接至转发路由器实例。连接后,转发路由器实例可以帮助您实现私网互通。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '72311', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1kbjcre9vtsebo1****', + ], + ], + [ + 'name' => 'VpcOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例所属阿里云账号(主账号)ID。默认值为当前登录的阿里云账号ID。'."\n" + ."\n" + .'> 如果您要加载跨账号的网络实例,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1250123456123456', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '付费方式。默认值:**POSTPAY**,表示按量付费。', + 'type' => 'string', + 'required' => false, + 'example' => 'POSTPAY', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建VPC连接。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建VPC连接。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ZoneMappings', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '请在企业版转发路由器的可用区中选择一个交换机实例。'."\n" + ."\n" + .'一次最多支持添加10组信息。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '企业版转发路由器支持的可用区及其对应的交换机实例的信息。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '在企业版转发路由器支持的可用区中选择一个交换机实例。'."\n" + ."\n" + .'一次最多支持为10个可用区选择交换机实例。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-bp1a214sbus8z3b54****', + ], + 'ZoneId' => [ + 'description' => '企业版转发路由器支持的可用区的ID。'."\n" + ."\n" + .'您可以通过[DescribeZones](~~36064~~)接口查询可用区的ID。'."\n" + ."\n" + .'一次最多支持选择10个可用区。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou-h', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使企业版转发路由器自动发布路由到VPC实例。'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'TransitRouterVPCAttachmentOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'VPC连接的功能属性列表。', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'disable', + 'description' => 'VPC连接的功能属性。'."\n" + ."\n" + .'**ipv6Support**:是否开启IPv6功能。'."\n" + ."\n" + .' - **enable**:开启IPv6功能。'."\n" + .' - **disable**(默认值):关闭IPv6功能。'."\n" + ."\n" + .'> 为VPC连接开启IPv6功能前,请确保VPC实例及其关联的交换机实例已经开启IPv6功能。具体操作,请参见[AllocateVpcIpv6Cidr](~~448916~~)和[CreateVSwitchCidrReservation](~~2593020~~)。', + ], + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => 'VPC连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-ia340z7xis7t5s****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C087A369-82B9-43EF-91F4-4B63A9C6E6B6', + ], + ], + ], + ], + ], + '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.', + ], + ], + 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.', + ], + ], + ], + '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' => '在企业版转发路由器下创建专有网络VPC连接', + 'description' => '- 您可以通过以下两种方式在企业版转发路由器下创建VPC连接:'."\n" + .' - 如果您已经在目标地域创建了企业版转发路由器实例,您可以通过指定**VpcId**、**ZoneMappings.N.VSwitchId**、**ZoneMappings.N.ZoneId**和**TransitRouterId**、**RegionId**创建VPC连接。'."\n" + .' - 如果您在目标地域没有企业版转发路由器实例,您可以通过指定**VpcId**、**ZoneMappings.N.VSwitchId**、**ZoneMappings.N.ZoneId**、**CenId**和**RegionId**创建VPC连接。创建VPC连接时系统为您自动创建企业版转发路由器实例。'."\n" + ."\n" + .'- **CreateTransitRouterVpcAttachment**接口属于异步接口,即系统会先返回一个VPC连接ID,但该VPC连接并未创建完成,系统后台的创建任务仍在进行。您可以调用[ListTransitRouterVpcAttachments](~~261222~~)接口查询VPC连接的状态。'."\n" + .' - 当VPC连接处于**Attaching**状态时,表示VPC连接正在创建中,在该状态下,您只能对VPC连接执行查询操作,不能执行其他操作。'."\n" + .' - 当VPC连接处于**Attached**状态时,表示VPC连接创建完成。'."\n" + .'- 创建VPC连接后,VPC连接默认不与任何转发路由器路由表建立路由学习关系和关联转发关系。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'在调用本接口创建VPC连接前,请确保满足以下条件:'."\n" + ."\n" + .'- VPC实例在企业版转发路由器支持的可用区拥有至少一个交换机实例,且该交换机实例拥有至少一个空闲的IP地址。关于企业版转发路由器支持的地域和可用区信息,请参见[企业版转发路由器支持的地域和可用区](~~181681~~)。'."\n" + .'- 如果您要连接跨账号的网络实例,请先获得跨账号网络实例授权。具体操作,请参见[跨账号网络实例授权](~~181553~~)。'."\n" + .'- VPC连接创建后会产生费用,请确保您已经了解相关计费规则。更多信息,请参见[计费说明](~~189836~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTransitRouterVpcAttachment' => [ + 'summary' => '调用DeleteTransitRouterVpcAttachment接口删除企业版转发路由器下的专有网络VPC(Virtual Private Cloud)连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72332', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-ia340z7xis7t5s****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除VPC连接。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除VPC连接。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除VPC连接,取值:'."\n" + .'- **false**(默认值):删除VPC连接前校验是否存在相关资源依赖,如关联转发、路由学习等。如果存在相关依赖,则不允许删除,返回对应错误。'."\n" + .'- **true**:删除VPC连接时,默认删除所有相关依赖。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7E61D334-4025-41EF-9145-FC327B35301D', + ], + ], + ], + ], + ], + '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' => '删除企业版转发路由器下的专有网络VPC连接', + 'description' => '**DeleteTransitRouterVpcAttachment**接口属于异步接口,即系统会先返回一个**RequestId**,但该VPC连接并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTransitRouterVpcAttachments**接口查询VPC连接的状态。 '."\n" + ."\n" + .'- 当VPC连接处于**Detaching**状态时,表示VPC连接正在删除中,在该状态下,您只能对VPC连接执行查询操作,不能执行其他操作。'."\n" + .'- 当查询不到指定的VPC连接时,表示VPC连接删除完成。'."\n" + ."\n" + .'在调用**DeleteTransitRouterVpcAttachment**接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**,但不会删除企业版转发路由器下的专有网络VPC连接。'."\n" + ."\n" + .'### 前提条件'."\n" + .'删除VPC连接前,请确保您未使用该VPC实例配置访问PrivateZone的路由。删除访问PrivateZone的路由,请参见[UnroutePrivateZoneInCenToVpc ](~~468375~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTransitRouterVpcAttachmentAttribute' => [ + 'summary' => '调用UpdateTransitRouterVpcAttachmentAttribute接口修改企业版转发路由器下VPC连接的名称和描述信息以及是否需要使企业版转发路由器自动发布路由到 VPC 实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72440', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改VPC连接的名称和描述信息。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改VPC连接的名称和描述信息。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterVPCAttachmentOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'VPC连接的功能属性列表。', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'ipv6Support:enable', + 'description' => 'VPC连接的功能属性。'."\n" + ."\n" + .'**ipv6Support**:是否开启IPv6功能。'."\n" + ."\n" + .' - **enable**:开启IPv6功能。'."\n" + .' - **disable**:关闭IPv6功能。'."\n" + ."\n" + .'> 为VPC连接开启IPv6功能前,请确保VPC实例及其关联的交换机实例已经开启IPv6功能。具体操作,请参见[AllocateVpcIpv6Cidr](~~448916~~)和[CreateVSwitchCidrReservation](~~2593020~~)。', + ], + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许企业版转发路由器自动发布路由到VPC实例。'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7E61D334-4025-41EF-9145-FC327B35301D', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改转发路由器下VPC连接信息', + 'description' => '**UpdateTransitRouterVpcAttachmentAttribute**接口属于异步接口,即系统会先返回一个**RequestId**,但该VPC连接并未修改完成,系统后台的修改任务仍在进行。您可以调用**ListTransitRouterVpcAttachments**接口查询VPC连接的状态。 '."\n" + ."\n" + .'- 当VPC连接处于**Modifying**状态时,表示VPC连接正在修改中,在该状态下,您只能对VPC连接执行查询操作,不能执行其他操作。'."\n" + .'- 当VPC连接处于**Attached**状态时,表示VPC连接修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTransitRouterVpcAttachmentZones' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改VPC连接的可用区和交换机。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改VPC连接的可用区和交换机。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-attach-9bbqyygouv4cpn****', + ], + ], + [ + 'name' => 'AddZoneMappings', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待为VPC连接添加的可用区和交换机列表。', + 'type' => 'array', + 'items' => [ + 'description' => '待VPC连接添加的交换机ID。'."\n" + ."\n" + .'一次最多支持添加10个交换机。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '待为VPC连接添加的交换机ID。'."\n" + ."\n" + .'一次最多支持添加10个交换机。'."\n" + ."\n" + .'- 如果您当前登录的阿里云账号和VPC实例属于同一个账号,您可以调用[DescribeVSwitches](~~35748~~)接口查询VPC实例下交换机ID及其所属可用区的ID。'."\n" + .'- 如果您当前登录的阿里云账号和VPC实例属于不同的账号,您可以调用[ListGrantVSwitchesToCen](~~427599~~)接口查询VPC实例下交换机ID及其所属可用区的ID。'."\n" + ."\n" + .'当填写**VSwitchId**后**ZoneId**为必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-wz988dda8ldm4uvmx****', + ], + 'ZoneId' => [ + 'description' => '待为VPC连接添加的交换机所属的可用区ID。'."\n" + ."\n" + .'一次最多支持添加10个交换机。'."\n" + ."\n" + .'当填写**ZoneId**后**VSwitchId**为必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-h', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RemoveZoneMappings', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待为VPC连接删除的可用区和交换机列表。', + 'type' => 'array', + 'items' => [ + 'description' => '待为VPC连接删除的可用区和交换机列表。'."\n" + ."\n" + .'一次最多支持输入10组可用区和交换机信息。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '待为VPC连接删除的交换机ID。'."\n" + ."\n" + .'一次最多支持删除10个交换机。'."\n" + ."\n" + .'当填写**VSwitchId**后**ZoneId**为必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-wz9f5izl6wshndmta****', + ], + 'ZoneId' => [ + 'description' => '待为VPC连接删除的交换机所属的可用区ID。'."\n" + ."\n" + .'一次最多支持删除10个交换机。'."\n" + ."\n" + .'当填写**ZoneId**后**VSwitchId**为必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-i', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '595AE52F-49FF-5788-A677-0DD1467941A1', + ], + ], + ], + ], + ], + '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.', + ], + ], + 409 => [ + [ + 'errorCode' => 'IncorrectStatus.VpcSwitch', + 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"595AE52F-49FF-5788-A677-0DD1467941A1\\"\\n}","type":"json"}]', + 'title' => '修改专有网络VPC连接关联的可用区和交换机', + 'summary' => '调用UpdateTransitRouterVpcAttachmentZones接口修改专有网络VPC(Virtual Private Cloud)连接关联的可用区和交换机。', + 'description' => '- 在为VPC连接添加可用区和交换机时,请确保交换机中拥有一个空闲的IP地址,在修改过程中,企业版转发路由器将在交换机中创建一个弹性网卡ENI(Elastic Network Interface)(该ENI将占用交换机下的一个IP地址),作为VPC实例与企业版转发路由器流量互通的接口。'."\n" + .'- **UpdateTransitRouterVpcAttachmentZones**接口属于异步接口,即系统会先返回一个**RequestId**,但该VPC连接并未修改完成,系统后台的修改任务仍在进行。您可以调用**ListTransitRouterVpcAttachments**接口查询VPC连接的状态。'."\n" + ."\n" + .' - 当VPC连接处于**Modifying**状态时,表示VPC连接正在修改中,在该状态下,您只能对VPC连接执行查询操作,不能执行其他操作。'."\n" + .' - 当VPC连接处于**Attached**状态时,表示VPC连接修改完成。'."\n" + ."\n" + .'- **VPC连接ID**下至少有一个VPC 连接的可用区和交换机不能全部删除。', + ], + 'ListTransitRouterVpcAttachments' => [ + 'summary' => '调用ListTransitRouterVpcAttachments接口查询企业版转发路由器下专有网络VPC(Virtual Private Cloud)VPC连接的状态、VPC连接的付费类型、VPC连接的可用区信息及其关联的VPC实例的交换机和弹性网卡信息等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72401', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1kbjcre9vtsebo1****', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示网络实例产生的费用由云企业网实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示网络实例产生的费用由网络实例所属的账号承担。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByCenOwner', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的加载状态。'."\n" + ."\n" + .'- **Attaching**:加载中。'."\n" + .'- **Attached**:已加载。'."\n" + .'- **Detaching**:卸载中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Attached', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C97FF53F-3EF8-4883-B459-60E171924B23', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TransitRouterAttachments' => [ + 'description' => 'VPC连接信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC连接信息列表。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'VPC连接的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2021-06-15T02:14Z', + ], + 'Status' => [ + 'description' => 'VPC连接的状态。'."\n" + ."\n" + .'- **Attached**:已加载。'."\n" + .'- **Attaching**:加载中。'."\n" + .'- **Detaching**:卸载中。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'VpcId' => [ + 'description' => 'VPC实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + 'TransitRouterAttachmentId' => [ + 'description' => 'VPC连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + 'TransitRouterId' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + 'ResourceType' => [ + 'description' => '连接所属的资源类型。'."\n" + ."\n" + .'仅取值:**VPC**,表示专有网络实例。'."\n", + 'type' => 'string', + 'example' => 'VPC', + ], + 'TransitRouterAttachmentDescription' => [ + 'description' => 'VPC连接的描述信息。', + 'type' => 'string', + 'example' => 'testdesc', + ], + 'VpcOwnerId' => [ + 'description' => 'VPC实例所属账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1250123456123456', + ], + 'VpcRegionId' => [ + 'description' => 'VPC实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'TransitRouterAttachmentName' => [ + 'description' => 'VPC连接的名称。', + 'type' => 'string', + 'example' => 'testname', + ], + 'ZoneMappings' => [ + 'description' => 'VPC连接的可用区信息及其关联的VPC实例的交换机和弹性网卡的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'VSwitchId' => [ + 'description' => '交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp1a214sbus8z3b54****', + ], + 'NetworkInterfaceId' => [ + 'description' => '企业版转发路由器在交换机中创建的弹性网卡的ID。', + 'type' => 'string', + 'example' => 'eni-bp149hmyaqegerml****', + ], + ], + ], + ], + 'AutoPublishRouteEnabled' => [ + 'description' => '企业版转发路由器是否自动发布路由到VPC实例。'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'ChargeType' => [ + 'description' => 'VPC连接的付费类型。'."\n" + ."\n" + .'仅取值:**POSTPAY**,表示按使用量后付费。', + 'type' => 'string', + 'example' => 'POSTPAY', + ], + 'Tags' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'test', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + 'OrderType' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示网络实例产生的费用由云企业网实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示网络实例产生的费用由网络实例所属的账号承担。', + 'type' => 'string', + 'example' => 'PayByCenOwner', + ], + 'ManagedService' => [ + 'description' => '归属云服务。', + 'type' => 'string', + 'example' => 'SAS', + ], + 'TransitRouterVPCAttachmentOptions' => [ + 'description' => 'VPC连接的功能属性列表。', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'description' => 'VPC连接的功能属性。'."\n" + ."\n" + .'- **ipv6Support**:是否已开启IPv6功能。默认值为当前VPC连接IPv6功能开启的状态。'."\n" + .' '."\n" + .' - **enable**:已开启IPv6功能。'."\n" + .' - **disable**:未开启IPv6功能。', + 'example' => '{ "ipv6Support": "disable" }', + ], + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-j3jzhw1zpau2km****'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器下专有网络VPC连接的信息', + 'description' => '您可以通过以下三种方式查询企业版转发路由器下VPC连接的信息:'."\n" + ."\n" + .'- 通过企业版转发路由器实例ID查询该实例下所有VPC连接的信息。'."\n" + .'- 通过云企业网实例ID和企业版转发路由器实例所属地域ID查询该企业版转发路由器实例下所有VPC连接的信息。'."\n" + .'- 通过企业版转发路由器实例所属地域ID查询该地域下所有VPC连接的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTransitRouterEcrAttachment' => [ + 'summary' => '您可以调用CreateTransitRouterEcrAttachment接口将要互通的专线网关ECR(ExpressConnect Router)网络实例连接到同地域的转发路由器实例中。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '195515', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR连接的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR连接描述。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'EcrId', + 'in' => 'query', + 'schema' => [ + 'description' => '关联的专线网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ecr-upyc0viial107r****', + ], + ], + [ + 'name' => 'EcrOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR实例所属阿里云账号(主账号)ID。默认值为当前登录的阿里云账号ID。'."\n" + ."\n" + .'> 如果您要加载跨账号的网络实例,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1250123456123456', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改VPN连接的配置。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改VPN连接的配置。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息列表。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => 'ECR连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-qieks13jnt1cchy***', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-qieks13jnt1cchy***\\",\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]', + 'title' => '在企业版转发路由器下创建专线网关ECR连接', + 'description' => '- 仅企业版转发路由器支持创建ECR连接。'."\n" + .'- 您可以通过以下两种方式在企业版转发路由器下创建ECR连接: '."\n" + ."\n" + .' - 如果您已经在目标地域创建了企业版转发路由器实例,您可以通过指定**EcrId**、**RegionId**和**TransitRouterId**创建ECR连接。 '."\n" + .' - 如果您在目标地域没有企业版转发路由器实例,您可以通过指定**EcrId**、**CenId**和**RegionId**创建ECR连接。创建ECR连接时系统为您自动创建企业版转发路由器实例。 '."\n" + ."\n" + .'- CreateTransitRouterEcrAttachment接口属于异步接口,即系统会先返回一个ECR连接ID,但该ECR连接并未创建完成,系统后台的创建任务仍在进行。您可以调用ListTransitRouterEcrAttachments接口查询ECR连接的状态。 '."\n" + ."\n" + .' - 当ECR连接处于**Attaching**状态时,表示ECR连接正在创建中,在该状态下,您只能对ECR连接执行查询操作,不能执行其他操作。 '."\n" + .' - 当ECR连接处于**Attached**状态时,表示ECR连接创建完成。 '."\n" + .'- 创建ECR连接后,ECR连接默认不与任何企业版转发路由器路由表建立路由学习关系和关联转发关系。 '."\n" + ."\n" + .' 当ECR连接与企业版转发路由器路由表建立[路由学习关系](~~468300~~)后,系统会自动将ECR实例的路由传播至企业版转发路由器路由表中。'."\n" + .'- 创建ECR连接后,系统自动将ECR连接关联的企业版转发路由器路由表中的路由传播到ECR实例的路由表中。 '."\n" + ."\n" + .'### 前提条件 '."\n" + .'- 企业版转发路由器所属的阿里云账号和ECR实例所属的阿里云账号属于同一家企业。 '."\n" + .'- 企业版转发路由器支持连接同账号和跨账号的ECR实例。在创建跨账号的ECR连接前,请先获得跨账号ECR实例的授权。具体操作,请参见[跨账号网络实例授权](~~181553~~)。'."\n" + .'- **调用本接口创建ECR连接前,请先调用[CreateExpressConnectRouterAssociation](~~2712082~~)接口为ECR实例和企业版转发路由器实例创建关联关系。**'."\n" + ."\n" + .' **当您调用DeleteTransitRouterEcrAttachment接口强制删除ECR连接时,系统将会一并删除ECR实例和企业版转发路由器实例间的关联关系,无需再额外删除。**', + ], + 'DeleteTransitRouterEcrAttachment' => [ + 'summary' => '调用DeleteTransitRouterEcrAttachment接口删除企业版转发路由器下的专线网关ECR(ExpressConnect Router)连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-r6g0m3epjehw57****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改跨地域连接的配置。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改跨地域连接的配置。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除ECR连接,取值:'."\n" + .'- **false**(默认值):删除ECR连接前校验是否存在相关资源依赖,如关联转发、路由学习等。如果存在相关依赖,则不允许删除,返回对应错误。'."\n" + .'- **true**:删除ECR连接时,默认删除所有相关依赖。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', + ], + ], + ], + ], + ], + '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' => '删除企业版转发路由器下的专线网关ECR连接', + 'description' => 'DeleteTransitRouterEcrAttachment接口属于异步接口,即系统会先返回一个RequestId,但该ECR连接并未删除完成,系统后台的删除任务仍在进行。您可以调用ListTransitRouterEcrAttachments接口查询ECR连接的状态。'."\n" + ."\n" + .'当ECR连接处于Detaching状态时,表示ECR连接正在删除中,在该状态下,您只能对ECR连接执行查询操作,不能执行其他操作。'."\n" + .'当查询不到指定的ECR连接时,表示ECR连接删除完成。'."\n" + .'在调用DeleteTransitRouterEcrAttachment接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会删除企业版转发路由器下的专线网关ECR连接。', + ], + 'UpdateTransitRouterEcrAttachmentAttribute' => [ + 'summary' => '调用UpdateTransitRouterEcrAttachmentAttribute接口修改企业版转发路由器下ECR连接的名称、描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-r6g0m3epjehw57****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR连接的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR连接新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次修改请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接修改转发路由器实例的信息。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改转发路由器实例的信息。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\"\\n}","type":"json"}]', + 'title' => '修改转发路由器下ECR连接信息', + 'description' => 'UpdateTransitRouterEcrAttachmentAttribute接口属于异步接口,即系统会先返回一个RequestId,但该ECR连接并未修改完成,系统后台的修改任务仍在进行。您可以调用ListTransitRouterEcrAttachments接口查询ECR连接的状态。'."\n" + ."\n" + .'当ECR连接处于Modifying状态时,表示ECR连接正在修改中,在该状态下,您只能对ECR连接执行查询操作,不能执行其他操作。'."\n" + .'当ECR连接处于Attached状态时,表示ECR连接修改完成。', + ], + 'ListTransitRouterEcrAttachments' => [ + 'summary' => '调用ListTransitRouterEcrAttachments接口查询企业版转发路由器下的专线网关ECR总条目数、连接的状态、连接 ID、网络实例的付费方等连接信息。', + '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' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-6ehx7q2jze8ch5ji0****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时,每次显示的条目数。默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值: '."\n" + .'- 如果**NextToken**为空表示没有下一次查询。 '."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '分批次查询时,下一次查询的Token。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '461EC1B5-04A8-4706-8764-8F5BCEF48A6F', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TransitRouterAttachments' => [ + 'description' => 'ECR实例连接信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'ECR实例连接的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2021-06-15T02:14Z', + ], + 'Status' => [ + 'description' => 'ECR连接的状态。'."\n" + ."\n" + .'- **Attached**:已加载。'."\n" + .'- **Attaching**:加载中。'."\n" + .'- **Detaching**:卸载中。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'TransitRouterAttachmentId' => [ + 'description' => 'ECR实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + 'TransitRouterId' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + 'ResourceType' => [ + 'description' => '连接所属的资源类型。'."\n" + ."\n" + .'仅取值:**ECR**,表示专线网关实例。', + 'type' => 'string', + 'example' => 'ECR', + ], + 'TransitRouterRegionId' => [ + 'description' => '转发路由器所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID代表的地域信息。', + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'TransitRouterAttachmentDescription' => [ + 'description' => 'ECR连接的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'EcrOwnerId' => [ + 'description' => 'ECR实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'AutoPublishRouteEnabled' => [ + 'description' => '企业版转发路由器是否自动发布路由到ECR实例。'."\n" + ."\n" + .'仅取值: **true**,表示自动发布路由。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EcrId' => [ + 'description' => '关联的专线网关实例ID。', + 'type' => 'string', + 'example' => 'ecr-n78omt2qsko06y****', + ], + 'TransitRouterAttachmentName' => [ + 'description' => 'ECR连接的名称。', + 'type' => 'string', + 'example' => 'testname', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'test', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-j3jzhw1zpau2km****'."\n", + ], + 'OrderType' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示ECR实例的连接费和流量处理费由转发路由器实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示ECR实例的连接费和流量处理费由ECR实例所属的账号承担。', + 'type' => 'string', + 'example' => 'PayByCenOwner', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '查询企业版转发路由器下的专线网关ECR连接信息', + 'description' => '您可以通过以下三种方式查询企业版转发路由器下ECR连接的信息: '."\n" + .'- 通过企业版转发路由器实例ID查询该实例下所有ECR连接的信息。 '."\n" + .'- 通过云企业网实例ID和企业版转发路由器实例所属地域ID查询该实例下所有ECR连接的信息。 '."\n" + .'- 单独通过**TransitRouterAttachmentId**参数查询指定ECR连接信息。', + ], + 'CreateTransitRouterVpnAttachment' => [ + 'summary' => '转发路由器支持连接VPN网关的IPsec连接。本地数据中心可以通过IPsec连接直接连接至转发路由器,然后通过转发路由器实现与其他网络的互通,调用CreateTransitRouterVpnAttachment接口创建VPN连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '138538', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建VPN连接。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建VPN连接。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-rsgxs8ng2awen2****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-p0wm740vjnbaprv0m****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN连接的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN连接的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'VpnId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-p0w042cqwvlhl4zyw****', + ], + ], + [ + 'name' => 'VpnOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的阿里云账号(主账号)ID。'."\n" + ."\n" + .'- 如果不输入本参数,默认使用当前登录的阿里云账号ID。'."\n" + .'- 如果您要连接跨账号的IPsec连接时,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1210123456123456', + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许转发路由器实例自动向IPsec连接发布路由条目。取值:'."\n" + ."\n" + .'- **true**(默认值):允许。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '计费方式。'."\n" + ."\n" + .'仅取值:**POSTPAY**(默认值),表示按使用量付费。', + 'type' => 'string', + 'required' => false, + 'example' => 'POSTPAY', + ], + ], + [ + 'name' => 'Zone', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '当前地域下的可用区ID。'."\n" + ."\n" + .'系统将在您指定的可用区下创建资源。'."\n" + ."\n" + .'> 如果绑定的IPsec连接是双隧道模式,此字段不填值。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区ID。', + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。'."\n" + ."\n" + .'您可以通过调用[ListTransitRouterAvailableResource](~~261356~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-h', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 1, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息列表。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => 'VPN连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-y5dup2qwfyh9lu****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8B5DD40A-3A29-5AC0-B8DA-05FD10D5C893', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '创建VPN连接', + 'description' => '- 创建VPN连接后,VPN连接默认不与任何转发路由器路由表建立路由学习关系和关联转发关系。'."\n" + .'- 在调用`CreateTransitRouterVpnAttachment`接口的过程中,如果您指定了**CenId**、**RegionId**参数的值,则无需指定**TransitRouterId**参数的值;如果您指定了**TransitRouterId**、**RegionId**参数的值,则无需指定**CenId**参数的值。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'- 在创建VPN连接前,请确保您已经在转发路由器实例所在的地域创建了一个IPsec连接,且IPsec连接未绑定任何资源。具体操作,请参见[CreateVpnAttachment](~~442455~~)。'."\n" + .'- 如果转发路由器实例需要连接跨账号的IPsec连接,则需确保IPsec连接已对转发路由器实例授权。具体操作,请参见[GrantInstanceToTransitRouter](~~417520~~)。'."\n" + .'- 在创建VPN连接之前,请确保您已设置转发路由器的TR地址段。具体操作,请参见[CreateTransitRouterCidr](~~468230~~)。', + ], + 'DeleteTransitRouterVpnAttachment' => [ + 'summary' => '调用DeleteTransitRouterVpnAttachment接口删除VPN连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除VPN连接。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除VPN连接。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-attach-b9xj1dv69600kj****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除VPN连接,取值:'."\n" + .'- **false**(默认值):删除VPN连接前校验是否存在相关资源依赖,如关联转发、路由学习等。如果存在相关依赖,则不允许删除,返回对应错误。'."\n" + .'- **true**:删除VPN连接时,默认删除所有相关依赖。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'FA43C571-E88B-56C0-8FF8-5646D9B96297', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除VPN连接', + 'description' => '在调用**DeleteTransitRouterVpnAttachment**接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**,但不会删除VPN连接。', + ], + 'UpdateTransitRouterVpnAttachmentAttribute' => [ + 'summary' => '调用UpdateTransitRouterVpnAttachmentAttribute接口修改企业版转发路由器下VPN连接的名称、描述信息、是否允许自动发布路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改VPN连接的配置。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改VPN连接的配置。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-attach-a6p8voaodog5c0****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN连接的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN连接新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许转发路由器实例自动向IPsec连接发布路由条目。取值:'."\n" + ."\n" + .'- **true**:允许。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1AB038F2-96E5-560B-9F6E-734311D466FA', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改VPN连接的配置', + ], + 'ListTransitRouterVpnAttachments' => [ + 'summary' => '调用ListTransitRouterVpnAttachment接口查询VPN连接的状态、IPsec连接ID、VPN连接的付费类型等信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'abilityTreeCode' => '138540', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-rsgxs8ng2awen2****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-a6p8voaodog5c0****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-p0wm740vjnbaprv0m****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '云企业网实例的标签信息。'."\n" + ."\n" + .'一次最多支持查询20个标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'value_A1', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '3D5530D2-3BBB-524E-8E98-59AB06A250E4', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TransitRouterAttachments' => [ + 'description' => 'VPN连接信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPN连接的信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '创建VPN连接的时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2022-07-08T08:45Z', + ], + 'Status' => [ + 'description' => 'VPN连接的状态。'."\n" + ."\n" + .'- **Attached**:已加载。'."\n" + .'- **Attaching**:加载中。'."\n" + .'- **Detaching**:卸载中。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'TransitRouterAttachmentId' => [ + 'description' => 'VPN连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-a6p8voaodog5c0****', + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-p0wm740vjnbaprv0m****', + ], + 'ResourceType' => [ + 'description' => 'VPN连接所属的资源类型。'."\n" + ."\n" + .'仅取值:**VPN**,表示转发路由器连接了IPsec连接。', + 'type' => 'string', + 'example' => 'VPN', + ], + 'VpnOwnerId' => [ + 'description' => 'IPsec连接所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'VpnId' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'example' => 'vco-p0wtu1xgd0l7fjo7k****', + ], + 'TransitRouterAttachmentDescription' => [ + 'description' => 'VPN连接的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'VpnRegionId' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AutoPublishRouteEnabled' => [ + 'description' => '是否允许转发路由器实例自动向IPsec连接发布路由条目。取值:'."\n" + ."\n" + .'- **true**:允许。'."\n" + .'- **false**:不允许。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'TransitRouterAttachmentName' => [ + 'description' => 'VPN连接的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'Zones' => [ + 'description' => '部署VPN连接的可用区列表。', + 'type' => 'array', + 'items' => [ + 'description' => '部署VPN连接的可用区。', + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。'."\n" + ."\n" + .'您可以通过调用[DescribeZones](~~36064~~)接口查询可用区ID对应的可用区的信息。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + ], + ], + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'test', + ], + 'Value' => [ + 'description' => '标签的值。', + 'type' => 'string', + 'example' => 'value_A1', + ], + ], + ], + ], + 'ChargeType' => [ + 'description' => 'VPN连接的付费类型。'."\n" + ."\n" + .'仅取值:POSTPAY,表示按使用量后付费。', + 'type' => 'string', + 'example' => 'POSTPAY', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-j3jzhw1zpau2km****'."\n", + ], + 'OrderType' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示网络实例产生的费用由云企业网实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示网络实例产生的费用由网络实例所属的账号承担。', + 'type' => 'string', + 'example' => 'PayByCenOwner', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询VPN连接的信息', + 'description' => '在您调用ListTransitRouterVpnAttachments接口的过程中支持以下三种查询方式:'."\n" + .'- 支持单独输入**TransitRouterAttachmentId**查询则查询指定 VPN 连接的信息。'."\n" + .'- 支持单独输入**TransitRouterId**查询当前转发路由器下关联的所有 VPN 连接的信息。'."\n" + .'- 支持**CenId**、**RegionId**查询当前云企业网中指定地域下的 VPN 连接的信息。'."\n" + ."\n" + .'在调用**ListTransitRouterVpnAttachments**接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**等信息,但不会显示目标查询VPN连接的信息。', + ], + 'CreateTransitRouterVbrAttachment' => [ + 'summary' => '您可以调用CreateTransitRouterVbrAttachment接口将要互通的边界路由器VBR(Virtual Border Router)网络实例连接到同地域的转发路由器实例中。连接后,转发路由器可帮您实现私网互通。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '72310', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR连接名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR连接描述。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp1svadp4lq38janc****', + ], + ], + [ + 'name' => 'VbrOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所属阿里云账号(主账号)ID。默认值为当前登录的阿里云账号ID。'."\n" + ."\n" + .'> 如果您要加载跨账号的网络实例,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1250123456123456', + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使企业版转发路由器自动发布路由到VBR实例。'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建VBR连接。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建VBR连接。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => 'VBR连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-ia340z7xis7t5s****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C087A369-82B9-43EF-91F4-4B63A9C6E6B6', + ], + ], + ], + ], + ], + '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.', + ], + ], + 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.', + ], + ], + ], + '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":""}]', + 'title' => '在企业版转发路由器下创建边界路由器VBR连接', + 'description' => '- 企业版转发路由器支持的地域和可用区信息,请参见[什么是云企业网](~~181681~~)。'."\n" + .'- 您可以通过以下两种方式在企业版转发路由器下创建VBR连接:'."\n" + ."\n" + .' - 如果您已经在目标地域创建了企业版转发路由器实例,您可以通过指定**VbrId**、**RegionId**和**TransitRouterId**创建VBR连接。'."\n" + .' - 如果您在目标地域没有企业版转发路由器实例,您可以通过指定**VbrId**、**CenId**和**RegionId**创建VBR连接。创建VBR连接时系统为您自动创建企业版转发路由器实例。'."\n" + ."\n" + .'- **CreateTransitRouterVbrAttachment**接口属于异步接口,即系统会先返回一个VBR连接ID,但该VBR连接并未创建完成,系统后台的创建任务仍在进行。您可以调用**ListTransitRouterVbrAttachments**接口查询VBR连接的状态。 '."\n" + ."\n" + .' - 当VBR连接处于**Attaching**状态时,表示VBR连接正在创建中,在该状态下,您只能对VBR连接执行查询操作,不能执行其他操作。'."\n" + .' - 当VBR连接处于**Attached**状态时,表示VBR连接创建完成。'."\n" + ."\n" + .'- 转发路由器所属的阿里云账号和VBR实例所属的阿里云账号属于同一家企业。'."\n" + .'- 转发路由器支持连接同账号和跨账号的VBR实例。在创建跨账号的VBR连接前,请先获得跨账号VBR实例的授权。具体操作,请参见[跨账号网络实例授权](~~181553~~)。'."\n" + .'- 创建VBR连接后,VBR连接默认不与任何转发路由器路由表建立路由学习关系和关联转发关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTransitRouterVbrAttachment' => [ + 'summary' => '调用DeleteTransitRouterVbrAttachment接口删除企业版转发路由器下的边界路由器VBR(Virtual border router)连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-9nlnjv7by7n7a****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除VBR连接。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除VBR连接。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除VBR连接,取值:'."\n" + .'- **false**(默认值):删除VBR连接前校验是否存在相关资源依赖,如关联转发、路由学习等。如果存在相关依赖,则不允许删除,返回对应错误。'."\n" + .'- **true**:删除VBR连接时,默认删除所有相关依赖。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '3EDA94DE-0AE5-41FC-A91E-7170E408E0FD', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除企业版转发路由器下的边界路由器VBR连接', + 'description' => '**DeleteTransitRouterVbrAttachment**接口属于异步接口,即系统会先返回一个**RequestId**,但该VBR连接并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTransitRouterVbrAttachments**接口查询VBR连接的状态。 '."\n" + ."\n" + .'- 当VBR连接处于**Detaching**状态时,表示VBR连接正在删除中,在该状态下,您只能对VBR连接执行查询操作,不能执行其他操作。'."\n" + .'- 当查询不到指定的VBR连接时,表示VBR连接删除完成。'."\n" + ."\n" + .'在调用DeleteTransitRouterVbrAttachment接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会删除企业版转发路由器下的边界路由器VBR连接。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTransitRouterVbrAttachmentAttribute' => [ + 'summary' => '调用UpdateTransitRouterVbrAttachmentAttribute接口修改企业版转发路由器下VBR连接的名称、描述信息、是否允许自动发布路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-oyf70wfuorwx87****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR连接的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR连接新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许企业版转发路由器向VBR实例中自动发布路由。取值:'."\n" + ."\n" + .'- **true**:允许。'."\n" + .'- **false**:禁止。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改VBR连接的名称和描述信息。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改VBR连接的配置信息。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '91B36DC3-FF8A-45C3-AC1E-456B1789136D', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改转发路由器下VBR连接信息', + 'description' => '**UpdateTransitRouterVbrAttachmentAttribute**接口属于异步接口,即系统会先返回一个**RequestId**,但该VBR连接并未修改完成,系统后台的修改任务仍在进行。您可以调用**ListTransitRouterVbrAttachments**接口查询VBR连接的状态。 '."\n" + ."\n" + .'- 当VBR连接处于**Modifying**状态时,表示VBR连接正在修改中,在该状态下,您只能对VBR连接执行查询操作,不能执行其他操作。'."\n" + .'- 当VBR连接处于**Attached**状态时,表示VBR连接修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouterVbrAttachments' => [ + 'summary' => '调用ListTransitRouterVbrAttachments接口查询企业版转发路由器下的边界路由器VBR总条目数、连接的状态、连接 ID、网络实例的付费方等连接信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-oyf70wfuorwx87****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时,每次显示的最大条目数。默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'dd20****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'example' => 'dd20****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F42D9616-29EB-4E75-8CA8-9654D4E07501', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时,每次显示的最大条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TransitRouterAttachments' => [ + 'description' => 'VBR连接信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'VBR连接的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2021-06-15T15:20Z', + ], + 'Status' => [ + 'description' => 'VBR连接的状态。'."\n" + ."\n" + .'- **Attached**:已加载。'."\n" + .'- **Attaching**:加载中。'."\n" + .'- **Detaching**:卸载中。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'TransitRouterAttachmentId' => [ + 'description' => 'VBR连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-oyf70wfuorwx87****', + ], + 'TransitRouterId' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + 'ResourceType' => [ + 'description' => '连接所属的资源类型。'."\n" + ."\n" + .'仅取值:**VBR**,表示边界路由器实例。', + 'type' => 'string', + 'example' => 'VBR', + ], + 'VbrRegionId' => [ + 'description' => 'VBR实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'TransitRouterAttachmentDescription' => [ + 'description' => 'VBR连接的描述信息。', + 'type' => 'string', + 'example' => 'testdesc', + ], + 'VbrOwnerId' => [ + 'description' => 'VBR实例所属账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1688111111111111', + ], + 'AutoPublishRouteEnabled' => [ + 'description' => '企业版转发路由器是否自动发布路由到VBR实例。'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'VbrId' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp1svadp4lq38janc****', + ], + 'TransitRouterAttachmentName' => [ + 'description' => 'VBR连接的名称。', + 'type' => 'string', + 'example' => 'testa', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'test', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'value_A1', + ], + ], + ], + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-j3jzhw1zpau2km****'."\n", + ], + 'OrderType' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示VBR实例的连接费和流量处理费由转发路由器实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示VBR实例的连接费和流量处理费由VBR实例所属的账号承担。', + 'type' => 'string', + 'example' => 'PayByCenOwner', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器下的边界路由器VBR连接信息', + 'description' => '您可以通过以下三种方式查询企业版转发路由器下VBR连接的信息:'."\n" + ."\n" + .'- 通过企业版转发路由器实例ID查询该实例下所有VBR连接的信息。'."\n" + .'- 通过云企业网实例ID和企业版转发路由器实例所属地域ID查询该实例下所有VBR连接的信息。'."\n" + .'- 可以单独通过 TransitRouterAttachmentId 参数查询VBR连接信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AttachCenChildInstance' => [ + 'summary' => '调用AttachCenChildInstance接口将网络实例加载到云企业网实例中。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '72288', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定待加载的网络实例的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp18sth14qii3pnvx****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + ."\n" + .'- **CCN**:云连接网。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ChildInstanceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属的阿里云账号ID(主账号)。'."\n" + ."\n" + .'>如果您要加载跨账号的网络实例,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1688000000000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A', + ], + ], + ], + ], + ], + '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' => '将网络实例加载到云企业网实例中', + 'description' => '云企业网支持加载跨账号的网络实例,在加载跨账号的网络实例前,云企业网实例需要先获得跨账号的网络实例授权:'."\n" + ."\n" + .'- 跨账号专有网络实例授权,请参见[GrantInstanceToCen](~~126224~~)。'."\n" + .'- 跨账号云连接网实例授权,请参见[GrantInstanceToCbn](~~126141~~)。'."\n" + .'- 跨账号边界路由器实例授权功能默认不开放,如需使用,请联系客户经理申请。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachCenChildInstance' => [ + 'summary' => '调用DetachCenChildInstance接口卸载云企业网实例中的网络实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72369', + 'abilityTreeNodes' => [ + 'FEATUREcbnY9DL3F', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmx****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待卸载的网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp18sth14qii3pnvx****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ChildInstanceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1699000000000000', + ], + ], + [ + 'name' => 'CenOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1688000000000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Bid.NotFound', + 'errorMessage' => 'Not found Bid by specified AliUid.', + ], + ], + ], + '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' => '从云企业网实例中解绑指定的网络实例', + 'description' => '**DetachCenChildInstance**接口仅支持解绑基础版转发路由器下指定的网络实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenAttachedChildInstanceAttribute' => [ + 'summary' => '调用DescribeCenAttachedChildInstanceAttribute接口查看加载到CEN中的网络实例(VPC、VBR、CCN)的网络实例的加载状态、网络实例的类型等详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-5mv960yjhja0dh****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例已加载的网络实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-2zebdboka7d7t37vo****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '网络实例的加载状态。'."\n" + ."\n" + .'- **Attaching**:加载中。'."\n" + .'- **Attached**:已加载。'."\n" + .'- **Detaching**:卸载中。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'ChildInstanceType' => [ + 'description' => '网络实例的类型。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'ChildInstanceRegionId' => [ + 'description' => '网络实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'ADD98358-D265-4060-87CB-A2427F5A8944', + ], + 'ChildInstanceOwnerId' => [ + 'description' => '网络实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1688000000000000', + ], + 'ChildInstanceId' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'example' => 'vpc-2zebdboka7d7t37vo****', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。 ', + 'type' => 'string', + 'example' => 'cen-5mv960yjhja0dh****', + ], + 'ManagedService' => [ + 'description' => '网络实例所归属的云服务,只有云服务占用的VPC连接到TR时才会返回对应云服务的标准Code。如果是您自行管理的VPC,则不返回。', + 'type' => 'string', + 'example' => 'swas', + ], + 'ChildInstanceAttachTime' => [ + 'description' => '网络实例的加载时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2018-07-30T07:53Z', + ], + 'ChildInstanceAttributes' => [ + 'description' => '网络实例的详细信息。', + 'type' => 'object', + 'properties' => [ + 'CidrBlock' => [ + 'description' => 'VPC的IPv4网段。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'SecondaryCidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'secondaryCidrBlock' => [ + 'description' => 'VPC附加网段信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC附加IPv4网段。', + 'type' => 'string', + 'example' => '192.168.20.0/24', + ], + ], + ], + ], + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段。', + 'type' => 'string', + 'example' => '2408:XXXX:0:a600::/56', + ], + 'Ipv6CidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC的IPv6网段信息。', + 'type' => 'object', + 'properties' => [ + 'Ipv6Isp' => [ + 'description' => 'VPC的IPv6地址段类型。取值:'."\n" + .'- BGP(默认值):阿里云BGP IPv6。'."\n" + .'- ChinaMobile:中国移动(单线)。'."\n" + .'- ChinaUnicom:中国联通(单线)。'."\n" + .'- ChinaTelecom:中国电信(单线)。'."\n" + ."\n" + .'> '."\n" + .'> 如果是开通了单线带宽白名单的用户,该字段可以为ChinaTelecom(中国电信)、ChinaUnicom(中国联通)和ChinaMobile(中国移动)。', + 'type' => 'string', + 'example' => 'BGP', + ], + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段。', + 'type' => 'string', + 'example' => '2408:XXXX:0:6a::/56', + ], + ], + ], + ], + ], + ], + ], + ], + 'ChildInstanceName' => [ + 'description' => '网络实例的名称。', + 'type' => 'string', + 'example' => 'defaultvpc', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ParameterError', + 'errorMessage' => 'The parameter is error.', + ], + ], + ], + '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' => '查看网络实例(VPC、VBR、CCN)详细信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenAttachedChildInstances' => [ + 'summary' => '调用DescribeCenAttachedChildInstances接口查询云企业网实例下已加载的网络实例信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-zhangjiakou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B2063B16-852B-5B66-B73D-4ED4D1A5E5C2', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ChildInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ChildInstance' => [ + 'description' => '云企业网实例加载的网络实例信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ChildInstanceType' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'Status' => [ + 'description' => '网络实例的状态,取值:'."\n" + ."\n" + .'- **Attaching**:加载中。'."\n" + ."\n" + .'- **Attached**:已加载。'."\n" + ."\n" + .'- **Detaching**:卸载中。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'ChildInstanceRegionId' => [ + 'description' => '网络实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-zhangjiakou', + ], + 'ChildInstanceOwnerId' => [ + 'description' => '网络实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1688000000000000', + ], + 'ChildInstanceId' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'example' => 'vpc-8vb1lu55yt9rlwgxl****', + ], + 'ManagedService' => [ + 'description' => '网络实例所归属的云服务,只有云服务占用的VPC连接到TR时才会返回对应云服务的标准Code。如果是您自行管理的VPC,则不返回。', + 'type' => 'string', + 'example' => 'swas', + ], + 'ChildInstanceAttachTime' => [ + 'description' => '网络实例的加载时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2021-08-10T06:27Z', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询云企业网实例下已加载的网络实例信息', + 'description' => '通过本接口您可以使用以下三种方式查询云企业网实例已加载的网络实例的信息:'."\n" + ."\n" + .'- 通过指定查询`CenId`,查询云企业网实例下已加载的所有网络实例的信息。'."\n" + .'- 通过指定`CenId`和`ChildInstanceRegionId`,查询云企业网实例在某一个地域下已加载的网络实例的信息。'."\n" + .'- 通过指定`CenId`和`ChildInstanceType`,查询云企业网实例已加载的某一类型的网络实例的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeChildInstanceRegions' => [ + 'summary' => '调用DescribeChildInstanceRegions接口查询云企业网支持加载网络实例的地域信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '支持的语言。包括以下取值:中文:zh-CN(默认值) 英文:en-US 日文:ja', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D5CEED59-36AA-47CC-9D81-16F71C46BD80', + ], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Region' => [ + 'description' => '地域信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => '地域名称', + 'type' => 'string', + 'example' => '华东 1', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '查询云企业网支持加载网络实例的地域信息', + 'description' => '对于不同的网络实例类型,云企业网支持的地域不同。您可以通过指定`ProductType`参数,查询不同网络实例类型下云企业网支持的地域信息。如果您不指定`ProductType`参数,则系统默认查询所有网络实例类型下云企业网支持的地域信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeGrantRulesToCen' => [ + 'summary' => '调用DescribeGrantRulesToCen接口查询云企业网实例已获得授权的跨账号的网络实例的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72362', + 'abilityTreeNodes' => [ + 'FEATUREcbnOQ547T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-nye53d7p3hzyu4****', + ], + ], + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .'- **ECR**:专线网关实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '- 如果您不指定**MaxResults**参数的值,则表示您不需要分批次查询。调用接口后返回参数**MaxResults**的值表示列表条目总数。'."\n" + .'- 如果您指定**MaxResults**参数的值,则表示您需要分批次查询,**MaxResults**的值表示分批次查询时每次显示的条目数。取值范围:**1**~**100**。调用接口后返回参数**MaxResults**的值表示当前查询批次下列表条目的数量。建议指定**MaxResults**参数的值为**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-rj9gt5nll27onu7****', + ], + ], + [ + 'name' => 'ChildInstanceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1250123456123456', + ], + ], + [ + 'name' => 'EnabledIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启IPv6:'."\n" + .'1. 仅当ProductType = “VPC”时此属性有效;'."\n" + .'2. true代表开启,false代表未开启,不填写或为空则代表不按此属性过滤。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4906B209-8613-5C19-9CC9-B7A3FFDA731C', + ], + 'GrantRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'GrantRule' => [ + 'description' => '授权信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '网络实例信息列表。', + 'type' => 'object', + 'properties' => [ + 'ChildInstanceType' => [ + 'description' => '网络实例的类型。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .'- **ECR**:专线网关实例。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'ChildInstanceRegionId' => [ + 'description' => '网络实例所属地域ID。 ', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ChildInstanceOwnerId' => [ + 'description' => '网络实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1250123456123456', + ], + 'ChildInstanceId' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1rgeww9mdstuuar****', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-nye53d7p3hzyu4****', + ], + 'OrderType' => [ + 'description' => '网络实例的付费方。取值:'."\n" + ."\n" + .'- **PayByCenOwner**:表示网络实例产生的转发路由器连接费、转发路由器流量处理费由云企业网实例所属的账号承担。'."\n" + .'- **PayByResourceOwner**:表示网络实例产生的转发路由器连接费、转发路由器流量处理费由网络实例所属的账号承担。'."\n", + 'type' => 'string', + 'example' => 'PayByCenOwner', + 'title' => '网络实例的付费方', + ], + 'CenOwnerId' => [ + 'description' => '云企业网实例所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'CreateTime' => [ + 'description' => '授权创建的时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2024-01-24T16:27Z', + ], + ], + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '- 如果您未指定请求参数**MaxResults**的值,则表示您不需要分批次查询。返回参数**MaxResults**的值表示列表条目总数。'."\n" + .'- 如果您指定了请求参数**MaxResults**的值,则表示您需要分批次查询。返回参数**MaxResults**的值表示当前查询批次下列表条目的数量。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '查看网络实例对云企业网实例的授权关系', + 'description' => '在调用**DescribeGrantRulesToCen**接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**,但不会显示云企业网实例已获得授权的跨账号的网络实例的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListGrantVSwitchesToCen' => [ + 'summary' => '调用ListGrantVSwitchesToCen接口查询云企业网实例已连接的跨账号专有网络VPC(Virtual Private Cloud)下交换机的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72385', + 'abilityTreeNodes' => [ + 'FEATUREcbnOQ547T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例所属地域ID。'."\n" + ."\n" + .'您可以调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-44m0p68spvlrqq****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp12ge2tq5gzdc915****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '1000', + 'minimum' => '0', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。取值范围:**1**~**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。'."\n" + ."\n" + .'- 如果您指定可用区ID,则系统只查询VPC实例位于当前可用区的交换机的信息。'."\n" + .'- 如果您不指定可用区ID,则系统默认查询该VPC实例位于所有可用区的交换机的信息。'."\n" + ."\n" + .'您可以调用[DescribeZones](~~36064~~)接口获取可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-h', + ], + ], + [ + 'name' => 'EnabledIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启IPv6:true代表开启,false代表未开启,不填写代表不按此属性过滤。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A9288C78-881A-5D30-A8A9-68E05EE0A086', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'VSwitches' => [ + 'description' => '交换机信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机的信息。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '交换机所属的VPC实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp12ge2tq5gzdc915****', + ], + 'ZoneId' => [ + 'description' => '交换机所属的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'VSwitchId' => [ + 'description' => '交换机实例ID。', + 'type' => 'string', + 'example' => 'vsw-bp1194lh263wx1gsk****', + ], + 'VSwitchName' => [ + 'description' => '交换机实例的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询云企业网实例已连接的跨账号专有网络VPC下交换机的信息', + 'description' => '在调用`ListGrantVSwitchesToCen`接口前,请确保云企业网实例已获得跨账号VPC实例的授权。具体操作,请参见[GrantInstanceToCen](~~126224~~)。', + ], + 'CreateCenBandwidthPackage' => [ + 'summary' => '要实现跨地域网络实例互通,您必须购买带宽包。您可以调用CreateCenBandwidthPackage接口创建带宽包。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '75161', + 'abilityTreeNodes' => [ + 'FEATUREcbn7IORX8', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,需保证该参数在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'namedesc', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的带宽峰值。单位:Mbps。取值范围:**2**~**10000**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '2', + ], + ], + [ + 'name' => 'GeographicRegionAId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属的区域。取值:'."\n" + ."\n" + .'- **China**:中国内地。'."\n" + .'- **North-America**:北美。'."\n" + .'- **Asia-Pacific**:亚太。'."\n" + .'- **Europe**:欧洲。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'China', + ], + ], + [ + 'name' => 'GeographicRegionBId', + 'in' => 'query', + 'schema' => [ + 'description' => '另一个网络实例所属的区域。取值:'."\n" + ."\n" + .'- **China**:中国内地。'."\n" + .'- **North-America**:北美。'."\n" + .'- **Asia-Pacific**:亚太。'."\n" + .'- **Europe**:欧洲。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'China', + ], + ], + [ + 'name' => 'BandwidthPackageChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的付费类型。取值: **PREPAY**,表示先付费后使用的付费方式。', + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的购买时长。默认值:1。'."\n" + ."\n" + .'- 当**PricingCycle**取值为**Month**时,**Period**取值范围为**1**~**3**和**6**。'."\n" + .'- 当**PricingCycle**取值为**Year**时,**Period**取值范围为**1**~**3**。'."\n" + ."\n" + .'> 当**BandwidthPackageChargeType**为**PREPAY**时本参数必填。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的计费周期。取值:'."\n" + ."\n" + .'- **Month**(默认值):按月计费。'."\n" + ."\n" + .'- **Year**:按年计费。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付带宽包实例的账单。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + ."\n" + .'如果您选择不自动支付账单,在您调用本接口后,请前往控制台的订单中心完成支付,实例才能创建成功。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'CenBandwidthPackageId' => [ + 'description' => '新建的带宽包实例ID。', + 'type' => 'string', + 'example' => 'cenbwp-4c2zaavbvh5fx****', + ], + 'CenBandwidthPackageOrderId' => [ + 'description' => '带宽包实例的订单ID。', + 'type' => 'string', + 'example' => '20156420004****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B', + ], + ], + ], + ], + ], + '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.', + ], + ], + 500 => [ + [ + 'errorCode' => 'PayFor.AccountMoneyValidateError', + 'errorMessage' => 'Your channel merchant quota is insufficient. Please contact the channel merchant.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Cbn::2017-09-12::DescribeCenBandwidthPackages', + 'callbackInterval' => 5000, + 'maxCallbackTimes' => 20, + ], + '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' => '创建带宽包', + 'description' => '- 在创建带宽包实例时需要指定互通区域。带宽包的区域是地域的集合,每个区域包含一个或多个阿里云地域,您可以根据要互通的地域来选择带宽包的互通区域。关于区域和地域的关系,请参见[购买带宽包](~~181560~~)。'."\n" + ."\n" + .'- 带宽包的计费详情,请参见[计费说明](~~189836~~)。'."\n" + ."\n" + .'- **CreateCenBandwidthPackage**接口属于异步接口,即系统会先返回一个带宽包实例ID,但该带宽包并未创建完成,系统后台的创建任务仍在进行。您可以调用**DescribeCenBandwidthPackages**接口查询带宽包的状态,当带宽包处于**Idle**或**InUse**状态时,表示带宽包创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteCenBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '待删除的带宽包实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenbwp-4c2zaavbvh5f42****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + 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.', + ], + ], + ], + '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' => '删除带宽包', + 'summary' => '调用DeleteCenBandwidthPackage接口删除带宽包实例。', + 'description' => '<props="china">'."\n" + ."\n" + .'- 删除带宽包实例前,请确保目标带宽包实例已经和云企业网实例解绑。具体操作,请参见[UnassociateCenBandwidthPackage](~~65935~~)。'."\n" + .'- 如果要删除付费模式为PREPAY(预付费)模式的带宽包实例,您需要前往[订单中心](https://usercenter2.aliyun.com/refund/refund)退订,如对退订有疑问请查看[退订规则说明](https://help.aliyun.com/zh/user-center/user-guide/unsubscription-rules#p-1qo-3ce-m7z),此接口暂不支持删除预付费模式的带宽包实例。'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'删除带宽包实例前,请确保目标带宽包实例已经和云企业网实例解绑。具体操作,请参见[UnassociateCenBandwidthPackage](~~65935~~)。'."\n" + ."\n" + .'</props>', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCenBandwidthPackageAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例新的描述信息。 '."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => '带宽包', + ], + ], + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 带宽包实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenbwp-4c2zaavbvh5fx****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '13526224-5780-4426-8ADF-BC8B08700F23', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '修改带宽包实例的名称和描述信息', + 'summary' => '调用ModifyCenBandwidthPackageAttribute接口修改带宽包实例的名称和描述信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCenBandwidthPackageSpec' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenbwp-4c2zaavbvh5x****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例新的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'取值范围:**2**~**10000**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'docRequired' => false, + 'example' => '2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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' => '修改带宽包实例的带宽峰值', + 'summary' => '调用ModifyCenBandwidthPackageSpec接口修改带宽包实例的带宽峰值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenGeographicSpanRemainingBandwidth' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例绑定的云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-nh98vzx8gfhlwn****', + ], + ], + [ + 'name' => 'GeographicRegionAId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的一个互通区域ID,取值:'."\n" + ."\n" + .'- **China**:中国内地。'."\n" + .'- **North-America**:北美。'."\n" + .'- **Asia-Pacific**:亚太。'."\n" + .'- **Europe**:欧洲。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'China', + ], + ], + [ + 'name' => 'GeographicRegionBId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例的另一个互通区域ID。取值:'."\n" + ."\n" + .'- **China**:中国内地。'."\n" + .'- **North-America**:北美。'."\n" + .'- **Asia-Pacific**:亚太。'."\n" + .'- **Europe**:欧洲。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'North-America', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RemainingBandwidth' => [ + 'description' => '带宽包实例的剩余带宽值。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询指定带宽包的剩余可用带宽值', + 'summary' => '查询指定带宽包实例的剩余带宽值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenBandwidthPackages' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含续费数据,取值:'."\n" + ."\n" + .'- **true**:包含续费数据。'."\n" + ."\n" + .'- **false**:不包含续费数据。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + 'default' => '10', + ], + ], + [ + 'name' => 'IsOrKey', + 'in' => 'query', + 'schema' => [ + 'description' => '过滤条件之间的关系,取值:'."\n" + ."\n" + .'- **false**(默认):过滤条件之间是**与**的关系。即必须符合所有过滤条件,才视为匹配过滤条件。'."\n" + ."\n" + .'- **true**:过滤条件之间是**或**的关系。即只要符合其中一个过滤条件,则视为匹配过滤条件。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfnwjeo4tv****', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤信息', + 'type' => 'array', + 'items' => [ + 'description' => '过滤信息', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件。'."\n" + .'您可以通过过滤条件筛选要查看的带宽包实例。系统支持以下过滤条件:'."\n" + ."\n" + .'- **CenId**:云企业网实例的ID。'."\n" + ."\n" + .'- **Status**:带宽包实例的状态,取值:'."\n" + ."\n" + .' - **Idle**:未绑定。'."\n" + .' - **InUse**:已绑定。'."\n" + ."\n" + .'- **CenBandwidthPackageId**:带宽包的ID。'."\n" + ."\n" + .'- **Name**:带宽包的名称。'."\n" + .'支持输入一个或多个过滤条件,**N**的最大值为**5**。', + 'type' => 'string', + 'required' => false, + 'example' => 'CenId', + ], + 'Value' => [ + 'description' => '根据**Key**指定过滤值。一个**Key**支持指定多个过滤值,每个过滤值之间是**或**的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'array', + 'items' => [ + 'description' => '根据**Key**指定过滤值。'."\n" + .'一个**Key**支持指定多个过滤值,每个过滤值之间是**或**的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + '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' => '标签信息列表。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9D7E2400-2755-4AF5-9B73-12565E4F73A0', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'CenBandwidthPackages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenBandwidthPackage' => [ + 'description' => '带宽包的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ReservationActiveTime' => [ + 'description' => '临时升配到期时间。', + 'type' => 'string', + 'example' => '2021-08-30T16:00Z', + ], + 'Status' => [ + 'description' => '带宽包是否已绑定云企业网实例。'."\n" + ."\n" + .'- **Idle**:未绑定。'."\n" + ."\n" + .'- **InUse**:已绑定。', + 'type' => 'string', + 'example' => 'InUse', + ], + 'CreationTime' => [ + 'description' => '带宽包的创建时间,采用ISO8601格式表示,格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2021-02-01T11:14Z', + ], + 'ReservationOrderType' => [ + 'description' => '续费变配方式。'."\n" + ."\n" + .'- **TEMP_UPGRADE**:短时升配。'."\n" + ."\n" + .'- **UPGRADE**:升配。', + 'type' => 'string', + 'example' => 'UPGRADE', + ], + 'BandwidthPackageChargeType' => [ + 'description' => '带宽包的计费方式。'."\n" + .' ', + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'CenBandwidthPackageId' => [ + 'description' => '带宽包的ID。', + 'type' => 'string', + 'example' => 'cenbwp-4c2zaavbvh5x****', + ], + 'ReservationInternetChargeType' => [ + 'description' => '变配之后的计费方式。', + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'GeographicRegionAId' => [ + 'description' => '要查询的区域ID。取值: '."\n" + ."\n" + .'- **china**:中国内地。'."\n" + .'- **asia-pacific**:亚太。'."\n" + .'- **europe**:欧洲。'."\n" + .'- **north-america**:北美。', + 'type' => 'string', + 'example' => 'china', + ], + 'Bandwidth' => [ + 'description' => '带宽包的峰值带宽。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'Description' => [ + 'description' => '带宽包描述。', + 'type' => 'string', + 'example' => 'cen', + ], + 'ExpiredTime' => [ + 'description' => '带宽包超时时间。', + 'type' => 'string', + 'example' => '2021-09-08T16:00Z', + ], + 'ReservationBandwidth' => [ + 'description' => '临时升配结束后恢复的带宽。', + 'type' => 'string', + 'example' => '10', + ], + 'GeographicSpanId' => [ + 'description' => '区域对应的ID。', + 'type' => 'string', + 'example' => 'north-america_china', + ], + 'GeographicRegionBId' => [ + 'description' => '带宽包实例的另一个互通区域ID。取值:'."\n" + ."\n" + .'- **china**:中国内地。'."\n" + .'- **asia-pacific**:亚太。'."\n" + .'- **europe**:欧洲。'."\n" + .'- **north-america**:北美。', + 'type' => 'string', + 'example' => 'north-america', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-aekzoyr5k36****', + ], + 'IsCrossBorder' => [ + 'description' => '是否是跨境带宽包。'."\n" + ."\n" + .'- **false**:不是跨境带宽包。'."\n" + ."\n" + .'- **true**:是跨境带宽包。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'BusinessStatus' => [ + 'description' => '带宽包的状态。'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + ."\n" + .'- **SecurityLocked**:安全风控锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Name' => [ + 'description' => '带宽包的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'HasReservationData' => [ + 'description' => '是否有续费数据。'."\n" + ."\n" + .'- **true**:有续费数据。'."\n" + ."\n" + .'- **false**:没有续费数据。'."\n" + ."\n" + .'>仅入参**IncludeReservationData**取值为**true**,且有未生效订购数据时才会为**true**。', + 'type' => 'string', + 'example' => 'false', + ], + 'OrginInterRegionBandwidthLimits' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OrginInterRegionBandwidthLimit' => [ + 'description' => '互通地域的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'BandwidthLimit' => [ + 'description' => '互通地域间的带宽峰值。', + 'type' => 'string', + 'example' => '1', + ], + 'OppositeRegionId' => [ + 'description' => '对端地域ID。', + 'type' => 'string', + 'example' => 'us-west-1', + ], + 'GeographicSpanId' => [ + 'description' => '互通地域。', + 'type' => 'string', + 'example' => 'north-america_china', + ], + 'LocalRegionId' => [ + 'description' => '本端地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '带宽包的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + ], + ], + 'CenIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenId' => [ + 'description' => '带宽包对应的云企业网实例的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '带宽包对应的云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-xxjsjfkffkfkfjkf****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询账户下所有带宽包的详细信息', + 'summary' => '调用DescribeCenBandwidthPackages接口查询带宽包实例的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenGeographicSpans' => [ + 'summary' => '调用DescribeCenGeographicSpans接口查询云企业网支持的互通区域的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72352', + 'abilityTreeNodes' => [ + 'FEATUREcbn7IORX8', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'GeographicSpanId', + 'in' => 'query', + 'schema' => [ + 'description' => '互通区域ID。'."\n" + ."\n" + .'> 如果您不输入本参数,系统默认会帮您查询云企业网支持的所有互通区域信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'china_asia-pacific', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '09780287-BC24-4164-8334-773432E32696', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'GeographicSpanModels' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'GeographicSpanModel' => [ + 'description' => '互通区域信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LocalGeoRegionId' => [ + 'description' => '本端区域ID。', + 'type' => 'string', + 'example' => 'asia-pacific', + ], + 'GeographicSpanId' => [ + 'description' => '互通区域ID。', + 'type' => 'string', + 'example' => 'china_asia-pacific', + ], + 'OppositeGeoRegionId' => [ + 'description' => '对端区域ID。', + 'type' => 'string', + 'example' => 'china', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询云企业网支持的互通区域的信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeGeographicRegionMembership' => [ + 'summary' => '查询指定区域内的地域信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'GeographicRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的区域ID。取值: '."\n" + ."\n" + .'- **china**:中国内地。'."\n" + ."\n" + .'- **asia-pacific**:亚太。'."\n" + ."\n" + .'- **europe**:欧洲。'."\n" + ."\n" + .'- **north-america**:北美。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'china ', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DC9EB0C9-60AF-4A09-A36C-608F70130274', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RegionIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionId' => [ + 'description' => '地域信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'description' => '地域ID。'."\n" + ."\n" + .'您可以调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID对应的地域信息。', + 'type' => 'string', + 'example' => 'us-west-1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查看指定区域内所有的地域', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'TempUpgradeCenBandwidthPackageSpec' => [ + 'summary' => '调用TempUpgradeCenBandwidthPackageSpec接口对云企业网预付费带宽包实例临时升配。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenbwp-y08yosedeqlpua****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '临时提升的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'取值范围:**2**~**10000**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '20', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '临时提升带宽的到期时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '2022-07-24T13:00:52Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DB0A026C-A8E5-40AB-977E-3A87DD78F694', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '进行云企业网预付费带宽包临时升配', + 'description' => '预付费带宽包支持临时升配功能。通过临时升配功能,您可以在指定时间内提高带宽包的带宽值,灵活应对业务带宽波动。'."\n" + ."\n" + .'临时升配支持的最短升级间隔为3小时,支付完成后带宽立刻升级成功,升级过程不中断业务。'."\n" + ."\n" + .'> 预付费带宽包实例在临时升配到期后恢复到原有带宽峰值时,如果实例上的业务流量超过了原有带宽峰值的限制,那么业务流量可能会因限速而被丢弃,请合理规划临时升配的到期时间,并确保带宽峰值和业务需求匹配。'."\n" + ."\n\n" + .'- 目前,临时升配功能默认不开放。如需使用,请联系客户经理申请。'."\n" + .'- 后付费带宽包和已到期的预付费带宽包不支持临时升配功能。'."\n" + .'- **TempUpgradeCenBandwidthPackageSpec**接口属于异步接口,即系统会先返回一个**RequestId**,但带宽包并未升配完成,系统后台的升配任务仍在进行。您可以调用**DescribeCenBandwidthPackages**接口查询带宽包的规格。当带宽包的规格符合预期,表示带宽包升配完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassociateCenBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6j****', + ], + ], + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenbwp-4c2zaavbvh5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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' => '解绑带宽包与云企业网实例', + 'summary' => '调用UnassociateCenBandwidthPackage接口解绑带宽包与云企业网实例之间的绑定,解绑后该带宽包可以绑定至其他云企业网实例。', + 'description' => '确保目标带宽包实例下不存在跨地域带宽。您可以删除已设置的跨地域带宽,具体操作,请参见[SetCenInterRegionBandwidthLimit](~~65942~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateCenBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽包实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenbwp-4c2zaavbvh5fx****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]', + 'title' => '将带宽包绑定到指定的云企业网实例', + 'summary' => '将带宽包实例绑定至云企业网实例。', + 'description' => '一个云企业网实例支持绑定多个带宽包,但不支持绑定多个相同互通区域的带宽包。'."\n" + ."\n" + .'例如,云企业网实例中已绑定中国内地至中国内地互通区域的带宽包,则您不能再绑定中国内地到中国内地互通区域的带宽包,但可以绑定中国内地到北美互通区域的带宽包。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTransitRouterPeerAttachment' => [ + 'summary' => '网络实例(VPC、VBR、IPsec连接)被连接至转发路由器后,如果要实现不同地域网络实例的互通,需要在网络实例连接的转发路由器下创建跨地域连接,您可以调用CreateTransitRouterPeerAttachment接口为企业版转发路由器实例创建跨地域连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '72307', + 'abilityTreeNodes' => [ + 'FEATUREcbnFWWHEY', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '本端企业版转发路由器实例ID。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '本端企业版转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'PeerTransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-m5eq27g6bndum7e88****', + ], + ], + [ + 'name' => 'PeerTransitRouterRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端转发路由器实例所属地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使企业版转发路由器自动发布跨地域连接的路由到对端地域。'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接的带宽值。单位:Mbps。'."\n" + ."\n" + .'- 当**BandwidthType**取值为**BandwidthPackage**时,该参数表示跨地域连接可使用的带宽值。'."\n" + ."\n" + .'- 当**BandwidthType**取值为**DataTransfer**时,该参数表示跨地域连接的限速带宽值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100000000', + 'minimum' => '0', + 'example' => '2', + ], + ], + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接要绑定的带宽包ID。'."\n" + ."\n" + .'> 当**BandwidthType**取值为**DataTransfer**时,无需配置该项。', + 'type' => 'string', + 'required' => false, + 'example' => 'cenbwp-3xrxupouolw5ou****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建跨地域连接。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建跨地域连接。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'BandwidthType', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接的带宽分配方式。取值:'."\n" + ."\n" + .'- **BandwidthPackage**:从带宽包中分配带宽。'."\n" + ."\n" + .'- **DataTransfer**:不为跨地域连接分配带宽,按使用流量计费。', + 'type' => 'string', + 'required' => false, + 'example' => 'BandwidthPackage', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tag_A1', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'value_A1', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DefaultLinkType', + 'in' => 'query', + 'schema' => [ + 'description' => '默认链路类型。'."\n" + ."\n" + .'可选值为Platinum(铂金),Gold(金),默认为Gold(金)。'."\n" + ."\n" + .'且仅在带宽分配方式是按流量计费时,才可以配置为Platinum(铂金)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Gold', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-nwkiqfvw22qesz****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '59422BF5-BAAD-4CFD-9019-9557BD3ACFA3', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '为企业版转发路由器实例创建跨地域连接', + 'description' => '- 企业版转发路由器支持以下两种带宽分配方式:'."\n" + ."\n" + .' - **从带宽包分配**:'."\n" + ."\n" + .' 使用此种分配方式,您需要先购买带宽包,从带宽包中为跨地域连接分配带宽。购买带宽包具体操作,请参见[CreateCenBandwidthPackage](~~65919~~)。'."\n" + .' - **按流量付费**:'."\n" + ."\n" + .' 使用此种分配方式,您需要为跨地域连接设置限速带宽,系统会按照跨地域连接实际使用的流量计费。具体计费信息,请参见[跨地域流量](~~337827~~)。'."\n" + ."\n" + .'- **CreateTransitRouterPeerAttachment**接口属于异步接口,即系统会先返回一个跨地域连接ID,但该跨地域连接并未创建完成,系统后台的创建任务仍在进行。您可以调用**ListTransitRouterPeerAttachments**接口查询跨地域连接的状态。 '."\n" + ."\n" + .' - 当跨地域连接处于**Attaching**状态时,表示跨地域连接正在创建中,在该状态下,您只能对跨地域连接执行查询操作,不能执行其他操作。'."\n" + .' - 当跨地域连接处于**Attached**状态时,表示跨地域连接创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTransitRouterPeerAttachment' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-gyjhtx9sjsxhm6****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次删除请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除跨地域连接。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除跨地域连接。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除跨地域连接,取值:'."\n" + .'- **false**(默认值):删除跨地域连接前校验是否存在相关资源依赖,如关联转发、路由学习等。如果存在相关依赖,则不允许删除,返回对应错误。'."\n" + .'- **true**:删除跨地域连接时,默认删除所有相关依赖。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA', + ], + ], + ], + ], + ], + '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' => '删除企业版转发路由器下的跨地域连接', + 'summary' => '调用DeleteTransitRouterPeerAttachment接口删除企业版转发路由器下的跨地域连接。', + 'description' => '**DeleteTransitRouterPeerAttachment**接口属于异步接口,即系统会先返回一个**RequestId**,但该跨地域连接并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTransitRouterPeerAttachments**接口查询跨地域连接的状态。'."\n" + ."\n" + .'- 当跨地域连接处于**Detaching**状态时,表示跨地域连接正在删除中,在该状态下,您只能对跨地域连接执行查询操作,不能执行其他操作。'."\n" + .'- 当查询不到指定的跨地域连接时,表示跨地域连接删除完成。'."\n" + ."\n" + .'在调用**DeleteTransitRouterPeerAttachment**接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**,但不会删除企业版转发路由器下的跨地域连接。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SetCenInterRegionBandwidthLimit' => [ + 'summary' => '调用SetCenInterRegionBandwidthLimit接口设置、修改或删除基础版转发路由器带宽包中两个地域间的跨地域互通带宽。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '72421', + 'abilityTreeNodes' => [ + 'FEATUREcbn7IORX8', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmx****', + ], + ], + [ + 'name' => 'LocalRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '本端地域ID。'."\n" + ."\n" + .'您可以调用[DescribeChildInstanceRegions](~~132080~~)接口获取云企业网支持加载的网络实例的地域信息。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'OppositeRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'us-west-1', + ], + ], + [ + 'name' => 'BandwidthLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '两个地域之间的跨地域互通带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'docRequired' => true, + 'example' => '8', + ], + ], + [ + 'name' => 'BandwidthType', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽的分配方式。取值:'."\n" + ."\n" + .'- **BandwidthPackage**(默认值):从带宽包中分配带宽。', + 'type' => 'string', + 'required' => false, + 'example' => 'BandwidthPackage', + 'default' => 'BandwidthPackage', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '530BC816-F575-412A-AAB2-435125D26328', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '设置带宽包中两个地域间的跨地域互通带宽', + 'description' => '此接口仅支持设置基础版转发路由器带宽包中两个地域间的跨地域互通带宽。'."\n" + .'### 前提条件'."\n" + ."\n" + .'目标云企业网实例已经绑定了带宽包实例。具体操作,请参见[CreateCenBandwidthPackage](~~65919~~)和[AssociateCenBandwidthPackage](~~65934~~)。'."\n" + ."\n\n" + .'您可以调用**SetCenInterRegionBandwidthLimit**接口设置、修改或删除跨地域互通带宽:'."\n" + ."\n" + .'- **BandwidthLimit**不为0 ,表示设置或修改跨地域互通带宽。'."\n" + .'- **BandwidthLimit**为0 ,表示删除跨地域互通带宽。'."\n" + ."\n" + .'### 使用限制'."\n" + ."\n" + .'- 跨地域互通带宽的最大值不能超过其所属的带宽包实例的带宽峰值。'."\n" + .'- 一个带宽包实例下的所有跨地域互通带宽之和不能超过该带宽包实例的带宽峰值。'."\n" + .'- 如果跨地域连接开启了带宽复用功能,则不支持修改跨地域互通带宽。'."\n" + .'- **SetCenInterRegionBandwidthLimit**接口仅支持为基础版转发路由器设置、修改或删除跨地域互通带宽。'."\n" + ."\n" + .' 如果您需要为企业版转发路由器设置、修改或删除跨地域互通带宽,请参见[CreateTransitRouterPeerAttachment](~~261363~~)、[UpdateTransitRouterPeerAttachmentAttribute](~~261229~~)和[DeleteTransitRouterPeerAttachment](~~261227~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTransitRouterPeerAttachmentAttribute' => [ + 'summary' => '调用UpdateTransitRouterPeerAttachmentAttribute接口修改企业版转发路由器下跨地域连接的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72436', + 'abilityTreeNodes' => [ + 'FEATUREcbnFWWHEY', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-ft94dcrbc3e5taun3x', + ], + ], + [ + 'name' => 'TransitRouterAttachmentName', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterAttachmentDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'AutoPublishRouteEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许企业版转发路由器自动发布跨地域连接的路由到对端地域。'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改跨地域连接的配置。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改跨地域连接的配置。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接的带宽值。单位:Mbps。'."\n" + ."\n" + .'- 当**BandwidthType**取值为**BandwidthPackage**时,该参数表示跨地域连接可使用的带宽值。'."\n" + .'- 当**BandwidthType**取值为**DataTransfer**时,该参数表示跨地域连接的限速带宽值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100000000', + 'minimum' => '0', + 'example' => '2', + ], + ], + [ + 'name' => 'CenBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接要绑定的带宽包ID。'."\n" + ."\n" + .'<props="china">如果不输入带宽包ID,则表示您要使用测试带宽。系统默认测试带宽为1 Kbps,仅供您测试(IPv4)网络连通性。</props>'."\n" + .'>当**BandwidthType**取值为**DataTransfer**时,无需配置该项。', + 'type' => 'string', + 'required' => false, + 'example' => 'cenbwp-3xrxupouolw5ou****', + ], + ], + [ + 'name' => 'BandwidthType', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽的分配方式。取值:'."\n" + ."\n" + .'- **BandwidthPackage**:从带宽包中分配带宽。'."\n" + .'- **DataTransfer**:不为跨地域连接分配带宽,按使用流量计费。', + 'type' => 'string', + 'required' => false, + 'example' => 'BandwidthPackage', + ], + ], + [ + 'name' => 'DefaultLinkType', + 'in' => 'query', + 'schema' => [ + 'description' => '默认链路类型。'."\n" + ."\n" + .'可选值为Platinum(铂金),Gold(金),默认为Gold(金)。'."\n" + ."\n" + .'且仅在带宽分配方式是按流量计费时,才可以配置为Platinum(铂金)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Gold', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改企业版转发路由器下跨地域连接的配置', + 'description' => '**UpdateTransitRouterPeerAttachmentAttribute**接口属于异步接口,即系统会先返回一个**RequestId**,但该跨地域连接并未修改完成,系统后台的修改任务仍在进行。您可以调用**ListTransitRouterPeerAttachments**接口查询跨地域连接的状态。'."\n" + ."\n" + .'- 当跨地域连接处于**Modifying**状态时,表示跨地域连接正在修改中,在该状态下,您只能对跨地域连接执行查询操作,不能执行其他操作。'."\n" + .'- 当跨地域连接处于**Attached**状态时,表示跨地域连接修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouterPeerAttachments' => [ + 'summary' => '调用ListTransitRouterPeerAttachments接口查询企业版转发路由器下的跨地域连接的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '72394', + 'abilityTreeNodes' => [ + 'FEATUREcbnFWWHEY', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-j3jzhw1zpau2km****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-5u4qbayfv2io5v****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。默认值为**20**,最大值为**100**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'dd20****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'AA97AFA3-8E48-4BD7-9F3E-A9F6176018A0', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TransitRouterAttachments' => [ + 'description' => '跨地域连接信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '跨地域连接信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '跨地域连接的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'example' => '2021-06-16T02:50Z', + ], + 'Status' => [ + 'description' => '跨地域连接的状态。'."\n" + ."\n" + .'- **Attached**:已加载。'."\n" + .'- **Attaching**:加载中。'."\n" + .'- **Detaching**:卸载中。'."\n" + .'- **Detached**:已卸载。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'TransitRouterAttachmentId' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-5u4qbayfv2io5v****', + ], + 'BandwidthType' => [ + 'description' => '带宽的分配方式。取值:'."\n" + ."\n" + .'- **BandwidthPackage**:从带宽包中分配带宽。'."\n" + ."\n" + .'- **DataTransfer**:不为跨地域连接分配带宽,按使用流量计费。', + 'type' => 'string', + 'example' => 'BandwidthPackage', + ], + 'CenBandwidthPackageId' => [ + 'description' => '跨地域连接绑定的带宽包ID。', + 'type' => 'string', + 'example' => 'cenbwp-3xrxupouolw5ou****', + ], + 'TransitRouterAttachmentDescription' => [ + 'description' => '跨地域连接的描述信息。', + 'type' => 'string', + 'example' => 'testdesc', + ], + 'RegionId' => [ + 'description' => '企业版转发路由器所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'PeerTransitRouterId' => [ + 'description' => '对端转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-m5eq27g6bndum7e88****', + ], + 'TransitRouterId' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + 'PeerTransitRouterRegionId' => [ + 'description' => '对端转发路由器实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + 'ResourceType' => [ + 'description' => '连接所关联的资源类型。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + .'- **CCN**:云连接网实例。'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **TR**:转发路由器实例。', + 'type' => 'string', + 'example' => 'TR', + ], + 'Bandwidth' => [ + 'description' => '跨地域连接的带宽值。单位:Mbps。'."\n" + ."\n\n" + .'- 当**BandwidthType**取值为**BandwidthPackage**时,该参数表示跨地域连接可使用的带宽值。'."\n" + .'- 当**BandwidthType**取值为**DataTransfer**时,该参数表示跨地域连接的限速带宽值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'GeographicSpanId' => [ + 'description' => '带宽包的互通区域。', + 'type' => 'string', + 'example' => 'china_china', + ], + 'PeerTransitRouterOwnerId' => [ + 'description' => '对端转发路由器实例所属账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '253460731706911258', + ], + 'AutoPublishRouteEnabled' => [ + 'description' => '企业版转发路由器实例是否自动发布跨地域连接的路由到对端地域。'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .'- **true**:是。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'TransitRouterAttachmentName' => [ + 'description' => '跨地域连接的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'tag_A1', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-j3jzhw1zpau2km****'."\n", + ], + 'DefaultLinkType' => [ + 'description' => '默认链路类型。'."\n" + ."\n" + .'- **Gold**(默认值):金。'."\n" + .'- **Platinum**:铂金。', + 'type' => 'string', + 'example' => 'Gold', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器下的跨地域连接信息', + 'description' => '您可以通过以下两种方式查询企业版转发路由器下跨地域连接的信息:'."\n" + ."\n" + .'- 通过企业版转发路由器实例ID查询该实例下所有跨地域连接的信息。'."\n" + .'- 通过云企业网实例ID和企业版转发路由器实例所属地域ID查询该企业版转发路由器实例下所有跨地域连接的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenInterRegionBandwidthLimits' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-pfa6ugf3xl0qsd****', + ], + ], + [ + 'name' => 'TrRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID对应的地域信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'ccn-cn-shanghai', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7A30C665-8766-5AAA-9274-C97380E2D850', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'CenInterRegionBandwidthLimits' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenInterRegionBandwidthLimit' => [ + 'description' => '跨地域互通带宽信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '跨地域互通带宽的状态。取值:'."\n" + ."\n" + .'- **Active**:运行中。'."\n" + ."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'BandwidthPackageId' => [ + 'description' => '带宽包实例ID。', + 'type' => 'string', + 'example' => 'cenbwp-uenczwb592fnvv****', + ], + 'OppositeRegionId' => [ + 'description' => '对端地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'GeographicSpanId' => [ + 'description' => '互通地域ID。', + 'type' => 'string', + 'example' => 'china_china', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-pfa6ugf3xl0qsd****', + ], + 'LocalRegionId' => [ + 'description' => '本端地域ID。'."\n" + ."\n" + .'您可以调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID对应的地域信息。', + 'type' => 'string', + 'example' => 'ccn-cn-shanghai', + ], + 'BandwidthLimit' => [ + 'description' => '两个地域间的跨地域互通带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'BandwidthType' => [ + 'description' => '带宽的分配方式。取值:'."\n" + ."\n" + .'- **BandwidthPackage**:从带宽包中分配带宽。'."\n" + ."\n" + .'- **DataTransfer**:不为跨地域连接分配带宽,按使用流量计费。', + 'type' => 'string', + 'example' => 'BandwidthPackage', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询各个地域之间的跨地域互通带宽', + 'summary' => '调用DescribeCenInterRegionBandwidthLimits接口查询各个地域之间的跨地域互通带宽的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateCenChildInstanceRouteEntryToAttachment' => [ + 'summary' => '在企业版转发路由器中,您可以调用CreateCenChildInstanceRouteEntryToAttachment接口为网络实例添加路由条目,目标网段的下一跳指向当前地域的转发路由器。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接为网络实例添加路由条目。'."\n" + .'- **true**:发送检查请求,只进行校验,不会为网络实例添加路由条目。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'>当前参数暂不生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-bp1n6cbxcszp55vxo****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-r1qhupkc19iadz****', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vrt-bp1msipdczo9lejup****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A95A100B-3F3A-56F4-A5DE-19DB7E994807', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAttachmentId.NotFound', + 'errorMessage' => 'The specified AttachmentId is not found.', + ], + ], + ], + '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' => '为企业版转发路由器连接的网络实例添加路由条目', + 'description' => '- 仅支持为企业版转发路由器连接的专有网络VPC(Virtual Private Cloud)实例和边界路由器VBR(Virtual Border Router)实例添加路由条目。'."\n" + .'- 路由条目的下一跳默认为**转发路由器连接**(即网络实例连接)且不支持修改。'."\n" + .'- **CreateCenChildInstanceRouteEntryToAttachment**接口属于异步接口,即系统会先返回一个**RequestId**,但该路由条目并未创建完成,系统后台的创建任务仍在进行。您可以调用专有网络的**DescribeRouteEntryList**接口查询路由条目的状态。 '."\n" + .' - 当路由条目处于**Pending**状态时,表示路由条目正在创建中。在该状态下,您只能对路由条目执行查询操作,不能执行其他操作。'."\n" + .' - 当路由条目处于**Available**状态时,表示路由条目创建完成。', + ], + 'CreateCenChildInstanceRouteEntryToCen' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7febra5nqj7jjh****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-k1alm2jbuwibhxtx2****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例类型。取值:'."\n" + ."\n" + .'- **VPC**:表示专有网络实例。'."\n" + .'- **VBR**:表示边界路由器实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-5', + ], + ], + [ + 'name' => 'ChildInstanceAliUid', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属阿里云账号(主账号)ID。'."\n" + ."\n" + .'> 如果您当前的网络实例为跨账号的网络实例,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1787100000000000', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-k1aa8ulqs39f86op8****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段。'."\n" + ."\n" + .'目标网段为CIDR格式。例如:192.168.10.0/24。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.22.0/24', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '437ED236-BE47-5370-8695-15C58C7A8014', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '为网络实例添加路由条目', + 'summary' => '调用CreateCenChildInstanceRouteEntryToCen接口为网络实例添加路由条目。', + 'description' => '- CreateCenChildInstanceRouteEntryToCen接口默认不开放,如需使用,请<props="china">[提交工单](https://selfservice.console.aliyun.com/ticket/category/cbn/today)</props><props="intl">[提交工单](https://workorder-intl.console.aliyun.com/#/ticket/createIndex)</props>申请。'."\n" + .'- CreateCenChildInstanceRouteEntryToCen接口不支持为企业版转发路由器中的网络实例添加路由条目。'."\n" + .'- 路由条目的下一跳默认为云企业网的地域网关且不支持修改。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteCenChildInstanceRouteEntryToAttachment' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除网络实例的路由条目。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除网络实例的路由条目。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。'."\n" + ."\n" + .'> 当前参数暂不生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-wgcl0ik5o8jakq****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-r1qhupkc19iadz****', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1osd9opvegfpowc****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.1.0/24', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '250E717B-9823-5FD8-A1C6-5714234FB825', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除企业版转发路由器连接的网络实例的路由条目', + 'summary' => '调用DeleteCenChildInstanceRouteEntryToAttachment接口删除企业版转发路由器连接的网络实例的路由条目。', + 'description' => '- 仅支持删除专有网络VPC(Virtual Private Cloud)实例和边界路由器VBR(Virtual Border Router)实例中下一跳为**转发路由器连接**(即网络实例连接)的路由条目。'."\n" + .'- **DeleteCenChildInstanceRouteEntryToAttachment**接口属于异步接口,即系统会先返回一个**RequestId**,但该路由条目并未删除完成,系统后台的删除任务仍在进行。您可以调用专有网络的**DescribeRouteEntryList**接口查询路由条目的状态。 '."\n" + .' - 当路由条目处于**Deleting**状态时,表示路由条目正在删除中。在该状态下,您只能对路由条目执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到指定的路由条目时,表示路由条目删除完成。', + ], + 'DeleteCenChildInstanceRouteEntryToCen' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7febra5nqj7jjh****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-k1alm2jbuwibhxtx2****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例类型。取值:'."\n" + ."\n" + .'- **VPC**:表示专有网络实例。'."\n" + .'- **VBR**:表示边界路由器实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-5', + ], + ], + [ + 'name' => 'ChildInstanceAliUid', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属阿里云账号(主账号)ID。'."\n" + ."\n" + .'> 如果当前网络实例为跨账号网络实例,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1787100000000000', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-k1aa8ulqs39f86op8****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段。'."\n" + ."\n" + .'目标网段为CIDR格式。例如:192.168.10.0/24。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.22.0/24', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C05000A4-2FC5-5B2C-9527-954044DE2CF3', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除网络实例下的路由条目', + 'summary' => '调用DeleteCenChildInstanceRouteEntryToCen接口删除网络实例下的路由条目。', + 'description' => '- DeleteCenChildInstanceRouteEntryToCen接口默认不开放,如需使用,请<props="china">[提交工单](https://selfservice.console.aliyun.com/ticket/category/cbn/today)</props><props="intl">[提交工单](https://workorder-intl.console.aliyun.com/#/ticket/createIndex)</props>申请。'."\n" + .'- DeleteCenChildInstanceRouteEntryToCen接口不支持删除企业版转发路由器下网络实例的路由条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListCenChildInstanceRouteEntriesToAttachment' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时,每次显示的条目数。默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'default' => '50', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-dc4vwznpwbobrl****', + ], + ], + [ + 'name' => 'ChildInstanceRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => false, + 'example' => 'vtb-bp174d1gje79u1g4t****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => false, + 'example' => 'tr-attach-r6g0m3epjehw57****', + ], + ], + [ + 'name' => 'RouteFilter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '目标网段过滤。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '路由匹配值模式。'."\n" + .'- **prefix-exact-match**:完全匹配', + 'type' => 'string', + 'required' => false, + 'example' => 'prefix-exact-match', + 'enum' => [ + 'prefix-exact-match', + ], + ], + 'Value' => [ + 'description' => '目标网段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '目标网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'ServiceType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由托管的类型。如果该字段为空,即表示该路由没有被托管。取值:TR,表示托管类型为转发路由器类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'TR', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '530BC816-F575-412A-AAB2-435125D26328', + ], + 'RouteEntry' => [ + 'description' => '路由条目的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的详细信息。', + 'type' => 'object', + 'properties' => [ + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-9adwg6ghpq8oq4dp7q', + ], + 'TransitRouterAttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-y463sghkkv1loe****', + ], + 'Status' => [ + 'description' => '路由条目的状态。取值:'."\n" + .'- **Available**:可用。'."\n" + .'- **Pending**:配置中。'."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'ServiceType' => [ + 'description' => '路由托管的类型。如果该字段为空,即表示该路由没有被托管。取值:TR,表示托管类型为转发路由器类型。', + 'type' => 'string', + 'example' => 'TR', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '10.0.0.0/8', + ], + 'ChildInstanceRouteTableId' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1tlaj1c4nxr2t3e****', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器连接的网络实例的路由条目', + 'summary' => '调用ListCenChildInstanceRouteEntriesToAttachment接口查询企业版转发路由器下网络实例路由表中指向网络实例连接的路由条目。', + 'description' => '在调用ListCenChildInstanceRouteEntriesToAttachment接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会显示企业版转发路由器连接的网络实例的路由条目。', + ], + 'DescribeCenRegionDomainRouteEntries' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '72355', + 'abilityTreeNodes' => [ + 'FEATUREcbnIIZZGE', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6j****', + ], + ], + [ + 'name' => 'CenRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**500**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的状态。取值:'."\n" + ."\n" + .'- **Active**(默认值):可用。'."\n" + ."\n" + .'- **Candidate**:备份。'."\n" + ."\n" + .'- **Rejected**:拒绝。'."\n" + ."\n" + .'- **Prohibited**:禁用。'."\n" + ."\n" + .'- **All**:表示查询当前地域下所有状态的路由条目信息。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + 'default' => 'Active', + 'enum' => [ + 'Active', + 'Rejected', + 'Prohibited', + 'Candidate', + 'Standby', + 'All', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '004E99FB-E996-5777-888E-BA1D8F215407', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'CenRouteEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenRouteEntry' => [ + 'description' => '路由条目信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ToOtherRegionStatus' => [ + 'description' => '路由条目去往其他地域的状态。'."\n" + ."\n" + .'- **Active**:可用。'."\n" + .'- **Prohibited**:禁用。'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'Type' => [ + 'description' => '路由条目的类型。'."\n" + ."\n" + .'- **CEN**:表示通过云企业网传递的路由。'."\n" + .'- **Custom**:表示自定义路由。'."\n" + .'- **System**:表示系统路由。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'Status' => [ + 'description' => '路由条目的状态。'."\n" + ."\n" + .'- **Active**:可用。'."\n" + ."\n" + .'- **Candidate**:备份。'."\n" + ."\n" + .'- **Rejected**:拒绝。'."\n" + ."\n" + .'- **Prohibited**:禁用。', + 'type' => 'string', + 'example' => 'Active', + ], + 'NextHopType' => [ + 'description' => '路由条目下一跳类型。'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + .'- **VBR**:边界路由器。'."\n" + .'- **CCN**:云连接网。'."\n" + .'- **local_service**:表示当前路由条目为云服务系统路由,没有下一跳。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'NextHopInstanceId' => [ + 'description' => '路由条目下一跳关联的网络实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1j8728mm6pweeod****', + ], + 'NextHopRegionId' => [ + 'description' => '路由条目下一跳关联的网络实例所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.1.0/24', + ], + 'Preference' => [ + 'description' => '路由条目的优先级。'."\n" + ."\n" + .'优先级数字越小,表示优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'CenRouteMapRecords' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenRouteMapRecord' => [ + 'description' => '路由条目匹配到的入地域网关方向的路由策略。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RouteMapId' => [ + 'description' => '路由策略ID。', + 'type' => 'string', + 'example' => 'cenrmap-cz5axczdxb7yfu****', + ], + 'RegionId' => [ + 'description' => '路由策略应用的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + 'CenOutRouteMapRecords' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenOutRouteMapRecord' => [ + 'description' => '路由条目匹配到的出地域网关方向的路由策略。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RouteMapId' => [ + 'description' => '路由策略ID。', + 'type' => 'string', + 'example' => 'cenrmap-dbarzidzp7ek4k****', + ], + 'RegionId' => [ + 'description' => '路由策略应用的地域ID。', + 'type' => 'string', + 'example' => 'ccn-cn-shanghai', + ], + ], + ], + ], + ], + ], + 'Communities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Community' => [ + 'description' => '路由条目的Community属性值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的Community属性值。', + 'type' => 'string', + 'example' => '65501:1', + ], + ], + ], + ], + 'AsPaths' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AsPath' => [ + 'description' => '路由条目的AS Path属性值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的AS Path属性值。', + 'type' => 'string', + 'example' => '65501', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询实例路由条目详细信息', + 'summary' => '调用DescribeCenRegionDomainRouteEntries接口查询云企业网实例中具体地域内路由条目的详细信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenChildInstanceRouteEntries' => [ + 'summary' => '调用DescribeCenChildInstanceRouteEntries接口查询云企业网中网络实例的路由条目信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '72350', + 'abilityTreeNodes' => [ + 'FEATUREcbnIIZZGE', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp18sth14qii3pnvo****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **ECR**:专线网关实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + 'enum' => [ + 'VPC', + 'VBR', + 'CCN', + 'VPN', + 'ECR', + ], + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的状态。取值:'."\n" + ."\n" + .'- **Active**:可用。'."\n" + ."\n" + .'- **Candidate**:备份。'."\n" + ."\n" + .'- **Rejected**:拒绝。'."\n" + ."\n" + .'- **Prohibited**:禁止。'."\n" + ."\n" + .'- **All**(默认值):表示查询网络实例下所有状态的路由条目信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**500**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ChildInstanceRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。'."\n" + .'在您查询VPC实例路由表下的路由条目信息时,如果您不指定路由表ID,系统默认查询VPC实例系统路由表下的路由条目信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-p0wxx3apzgn6uqp3r****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '17A57456-EF48-419D-9AE6-9B03D9996018', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'CenRouteEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenRouteEntry' => [ + 'description' => '路由条目信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '路由条目的状态。取值:'."\n" + ."\n" + .'- **Active**:可用。'."\n" + ."\n" + .'- **Candidate**:备份。'."\n" + ."\n" + .'- **Rejected**:拒绝。'."\n" + ."\n" + .'- **Prohibited**:禁止。', + 'type' => 'string', + 'example' => 'Active', + ], + 'Type' => [ + 'description' => '路由条目的类型。取值:'."\n" + ."\n" + .'- **CEN**:表示通过云企业网传递的路由。'."\n" + .'- **System**:表示系统路由。'."\n" + .'- **Custom**:表示自定义路由。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'PublishStatus' => [ + 'description' => '路由条目在云企业网中的发布状态。取值:'."\n" + ."\n" + .'- **Published**:已发布。'."\n" + ."\n" + .'- **NonPublished**:未发布。'."\n", + 'type' => 'string', + 'example' => 'Published', + ], + 'NextHopType' => [ + 'description' => '路由条目下一跳类型。取值:'."\n" + ."\n" + .'- **Instance**:ECS实例。'."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + .'- **RouterInterface**:路由器接口。'."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + .'- **VpnGateway**:VPN网关。'."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **NatGateway**:NAT网关。'."\n" + .'- **Attachment**:网络实例连接。'."\n" + .'- **service**:云服务。'."\n" + .'- **VBR**:边界路由器。'."\n" + .'- **CCN**:云连接网。'."\n" + .'- **VPC**:专有网络。'."\n" + .'- **local**:表示当前路由条目为网络实例的系统路由,没有下一跳。'."\n" + .'- **TR**:转发路由器。'."\n" + .'- **BlackHole**:表示当前路由条目为黑洞路由,没有下一跳。'."\n" + .'- **EcRouterInterface**:高速通道路由器接口。'."\n" + .'- **HealthCheck**:健康检查。'."\n" + .'- **AS**:云连接网接入网关。'."\n" + .'- **classicLink**:经典网络实例。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **CPE**:边界路由器连接的本地数据中心。', + 'type' => 'string', + 'example' => 'VBR', + ], + 'OperationalMode' => [ + 'description' => '是否允许发布或撤销该路由到云企业网。取值:'."\n" + .'- **true**:允许发布或撤销。'."\n" + ."\n" + .'- **false**:不允许发布或撤销。'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'NextHopRegionId' => [ + 'description' => '路由条目下一跳关联的实例所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'NextHopInstanceId' => [ + 'description' => '路由条目下一跳关联的实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp13gtbhdp0pfqg6s****', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'RouteTableId' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1r9pvl4xen8s9ju****', + ], + 'CenRouteMapRecords' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CenRouteMapRecord' => [ + 'description' => '路由条目匹配到的路由策略信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RouteMapId' => [ + 'description' => '路由策略ID。', + 'type' => 'string', + 'example' => 'cenrmap-w4yf7toozfol3q****', + ], + 'RegionId' => [ + 'description' => '路由策略应用的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + 'Conflicts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Conflict' => [ + 'description' => '产生冲突的路由条目信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '路由条目产生冲突的原因。取值:'."\n" + ."\n" + .'- **conflict**:路由条目的目标网段相同造成的冲突。 '."\n" + .' '."\n" + .'- **overflow**:其他网络实例路由表的路由条目数量超出限制造成的冲突。 '."\n", + 'type' => 'string', + 'example' => 'conflict', + ], + 'DestinationCidrBlock' => [ + 'description' => '产生冲突的路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.1.0/24', + ], + 'InstanceId' => [ + 'description' => '产生路由条目冲突的对端的网络实例ID。', + 'type' => 'string', + 'example' => 'ccn-0q3b7oviikmm9h****', + ], + 'InstanceType' => [ + 'description' => '产生路由条目冲突的对端的网络实例类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + .'- **VBR**:边界路由器。'."\n" + .'- **CCN**:云连接网。'."\n" + .'- **ECR**:专线网关。', + 'type' => 'string', + 'example' => 'CCN', + ], + 'RegionId' => [ + 'description' => '产生路由条目冲突的对端的网络实例所属地域ID。', + 'type' => 'string', + 'example' => 'ccn-cn-shanghai', + ], + ], + ], + ], + ], + ], + 'Communities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Community' => [ + 'description' => '路由条目的Community属性值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的Community属性值。', + 'type' => 'string', + 'example' => '65501:1', + ], + ], + ], + ], + 'AsPaths' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AsPath' => [ + 'description' => '路由条目的AS Path属性值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的AS Path属性值。', + 'type' => 'string', + 'example' => '65501', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询云企业网的网络实例路由条目', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribePublishedRouteEntries' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**500**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jm****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp18sth14qii3pnv****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例类型。取值: '."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + ."\n" + .'- **CCN**:云连接网。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ChildInstanceRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-bp174d1gje79u1g4****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由条目的目标网段。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.0.0/16', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'FF1A7B2A-677F-4F71-96EA-6002B329F437', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'PublishedRouteEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PublishedRouteEntry' => [ + 'description' => '路由条目信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NextHopId' => [ + 'description' => '路由条目下一跳关联的实例ID。', + 'type' => 'string', + 'example' => ' ecs-bp18sth14qii3pn****', + ], + 'PublishStatus' => [ + 'description' => '在云企业网中的发布状态:'."\n" + ."\n" + .'- **Published**:已发布。'."\n" + ."\n" + .'- **NonPublished**:未发布。', + 'type' => 'string', + 'example' => 'Published', + ], + 'ChildInstanceRouteTableId' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'example' => 'vtb-il7qut3mjgtlcbpk2****', + ], + 'NextHopType' => [ + 'description' => '路由条目下一跳关联的实例类型。'."\n" + ."\n" + .'- **Instance**:ECS实例。'."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + .'- **RouterInterface**:路由器接口。'."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + .'- **VpnGateway**:VPN网关。'."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **NatGateway**:NAT网关。'."\n" + .'- **Attachment**:网络实例连接。'."\n" + .'- **service**:云服务。'."\n" + .'- **VBR**:边界路由器。'."\n" + .'- **CCN**:云连接网。'."\n" + .'- **VPC**:专有网络。'."\n" + .'- **local**:表示当前路由条目为网络实例的系统路由,没有下一跳。'."\n" + .'- **TR**:转发路由器。'."\n" + .'- **BlackHole**:表示当前路由条目为黑洞路由,没有下一跳。'."\n" + .'- **EcRouterInterface**:高速通道路由器接口。'."\n" + .'- **HealthCheck**:健康检查。'."\n" + .'- **AS**:云连接网接入网关。'."\n" + .'- **classicLink**:经典网络实例。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **CPE**:边界路由器连接的本地数据中心。', + 'type' => 'string', + 'example' => 'Instance', + ], + 'OperationalMode' => [ + 'description' => '是否允许发布或撤销该路由到云企业网。'."\n" + ."\n" + .'- **true**:允许发布或撤销。'."\n" + ."\n" + .'- **false**:不允许发布或撤销。'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '172.16.0.0/16', + ], + 'RouteType' => [ + 'description' => '路由条目的类型。'."\n" + ."\n" + .'- **CEN**:表示通过云企业网传递的路由。'."\n" + .'- **System**:表示系统路由。'."\n" + .'- **Custom**:表示自定义路由。', + 'type' => 'string', + 'example' => 'System', + ], + 'Conflicts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Conflict' => [ + 'description' => '产生冲突的路由条目信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '路由条目产生冲突的原因。'."\n" + ."\n" + .'- **conflict**:路由条目的目标网段相同造成的冲突。 '."\n" + .' '."\n" + .'- **overflow**:其他网络实例路由表的路由条目数量超出限制造成的冲突。 ', + 'type' => 'string', + 'example' => 'conflict', + ], + 'DestinationCidrBlock' => [ + 'description' => '产生冲突的路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.20.0/24', + ], + 'InstanceId' => [ + 'description' => '产生路由冲突的对端的网络实例ID。', + 'type' => 'string', + 'example' => 'ccn-0q3b7oviikmm9h****', + ], + 'InstanceType' => [ + 'description' => '产生路由条目冲突的对端的网络实例类型。'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + .'- **VBR**:边界路由器。'."\n" + .'- **CCN**:云连接网。', + 'type' => 'string', + 'example' => 'CCN', + ], + 'RegionId' => [ + 'description' => '产生路由条目冲突的对端的网络实例所属地域ID。'."\n", + 'type' => 'string', + 'example' => 'ccn-cn-shanghai', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询路由在CEN中的发布情况', + 'summary' => '您可以调用DescribePublishedRouteEntries接口查询已加载到CEN网络实例(VPC和VBR)的各条路由在CEN中的发布状态、路由条目下一跳关联的实例类型、是否允许发布或撤销该路由到云企业网等信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeRouteConflict' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ccn-0q3b7oviikmm9h****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + ."\n" + .'- **CCN**:云连接网。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'CCN', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ccn-cn-shanghai', + ], + ], + [ + 'name' => 'ChildInstanceRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp174d1gje79u1g4t****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '产生冲突的路由条目的目标网段。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.0.0/16', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'EE3A2CC7-41F1-58DB-8306-CFC99D9C747B', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RouteConflicts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteConflict' => [ + 'description' => '产生冲突的路由条目的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '路由条目产生冲突的原因。'."\n" + ."\n" + .'- **conflict**:路由条目的目标网段相同造成的冲突。 '."\n" + .' '."\n" + .'- **overflow**:其他网络实例路由表的路由条目数量超出限制造成的冲突。 '."\n", + 'type' => 'string', + 'example' => 'conflict', + ], + 'DestinationCidrBlock' => [ + 'description' => '产生冲突的路由条目的目标网段。', + 'type' => 'string', + 'example' => '172.16.0.0/16', + ], + 'InstanceId' => [ + 'description' => '产生路由条目冲突的对端的网络实例ID。', + 'type' => 'string', + 'example' => 'ccn-0q3b7oviikmm9h****', + ], + 'InstanceType' => [ + 'description' => '产生路由条目冲突的对端的网络实例类型。'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + ."\n" + .'- **CCN**:云连接网。', + 'type' => 'string', + 'example' => 'CCN', + ], + 'RegionId' => [ + 'description' => '产生路由条目冲突的对端的网络实例所属地域ID。', + 'type' => 'string', + 'example' => 'ccn-cn-shanghai', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询网络实例中存在冲突的路由条目信息', + 'summary' => '调用DescribeRouteConflict接口查询网络实例中存在冲突的路由条目信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'PublishRouteEntries' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-rj9gt5nll27onu****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + .'- **VBR**:边界路由器。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'us-west-1', + ], + ], + [ + 'name' => 'ChildInstanceRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp174d1gje7****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要发布的路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '172.16.1.0/24', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '将路由条目发布到CEN', + 'summary' => '云企业网支持发布路由的功能。您可以将加载到云企业网中的VPC或VBR中的路由通过调用PublishRouteEntries接口发布到云企业网中,在没有路由冲突的情况下,云企业网中的其他网络实例可以学习到该路由。', + 'description' => '下表为您列举了各个类型的路由条目在云企业网中的默认发布状态。您可以通过调用PublishRouteEntries接口将未发布至云企业网的路由条目发布至云企业网。'."\n" + ."\n" + .'| 路由条目 | 路由条目所属实例 |是否默认发布到云企业网'."\n" + .'|------------- |-----------------------|--------------------|'."\n" + .'|指向ECS实例的路由条目 |VPC |否 |'."\n" + .'|指向VPN网关的路由条目 |VPC |否 |'."\n" + .'|指向高可用虚拟IP的路由条目 |VPC |否 |'."\n" + .'|指向路由器接口的路由条目 |VPC |否 |'."\n" + .'|指向弹性网卡的路由条目 |VPC |否 |'."\n" + .'|指向IPv6网关的路由条目 |VPC |否 |'."\n" + .'|指向NAT网关的路由条目 |VPC |否 |'."\n" + .'|VPC系统路由 | VPC | 是 |'."\n" + .'|指向本地数据中心的路由条目 |VBR |是 |'."\n" + .'|BGP路由 |VBR |是 |', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'WithdrawPublishedRouteEntries' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-sxjfjkjfkjfiein****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-rj9gt5nll27onu7****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + .'- **VBR**:边界路由器。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ChildInstanceRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp174d1gje79u1g4t****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要撤回的路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '172.16.1.0/24', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '撤回已发布至云企业网的路由条目', + 'summary' => '调用WithdrawPublishedRouteEntries接口撤回专有网络VPC(Virtual Private Cloud)或边界路由器VBR(Virtual border router)实例已发布至云企业网的路由条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTransitRouterRouteTable' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableName', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由表名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterRouteTableDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由表的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-bp1su1ytdxtataupl****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次创建请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,只进行校验,通过检查后直接创建自定义路由表。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建自定义路由表。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tagtest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RouteTableOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '路由表功能选项。', + 'type' => 'object', + 'properties' => [ + 'MultiRegionECMP' => [ + 'description' => '多地域等价路由,取值:'."\n" + .'- **disable**(默认):关闭多地域等价路由。关闭多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会优选Region ID最小的TR作为下一跳(按字母排序),此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再关闭。'."\n" + .'- **enable**:开启多地域等价路由。开启多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会形成等价路由,此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再开启。', + 'type' => 'string', + 'required' => false, + 'example' => 'disable', + 'default' => 'disable', + 'enum' => [ + 'enable', + 'disable', + ], + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterRouteTableId' => [ + 'description' => '自定义路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1xbcgpgcz9axl9m****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '599904C8-A3DA-4E5F-83B6-D5364E664247', + ], + ], + ], + ], + ], + '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' => '为企业版转发路由器创建自定义路由表', + 'summary' => '调用CreateTransitRouterRouteTable接口为企业版转发路由器创建自定义路由表。', + 'description' => '- 当前仅企业版转发路由器支持创建自定义路由表。关于企业版转发路由器支持的地域和可用区信息,请参见[什么是云企业网](~~181681~~)。'."\n" + .'- **CreateTransitRouterRouteTable**接口属于异步接口,即系统会先返回一个路由表ID,但该路由表并未创建完成,系统后台的创建任务仍在进行。您可以调用**ListTransitRouterRouteTables**接口查询路由表的状态。'."\n" + ."\n" + .' - 当路由表处于**Creating**状态时,表示路由表正在创建中。在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当路由表处于**Active**状态时,表示路由表创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTransitRouterRouteTable' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次删除请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接删除自定义路由表。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除自定义路由表。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1xbcgpgcz9axl9m****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'EAB2F133-8556-4D7C-9E91-7EE4FE9CC7D2', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除企业版转发路由器的自定义路由表', + 'summary' => '调用DeleteTransitRouterRouteTable接口删除企业版转发路由器的自定义路由表。', + 'description' => '- 企业版转发路由器的默认路由表不支持删除。'."\n" + .'- **DeleteTransitRouterRouteTable**接口属于异步接口,即系统会先返回一个**RequestId**,但自定义路由表并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTransitRouterRouteTables**接口查询自定义路由表的状态。 '."\n" + ."\n" + .' - 当自定义路由表处于Deleting状态时,表示自定义路由表正在删除中。在该状态下,您只能对自定义路由表执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到指定自定义路由表时,表示该自定义路由表删除完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTransitRouterRouteTable' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterRouteTableDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改路由表的名称和描述信息。'."\n" + .'- **true**:发送检查请求,只进行校验,不会路由表的名称和描述信息。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RouteTableOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '路由表功能选项。', + 'type' => 'object', + 'properties' => [ + 'MultiRegionECMP' => [ + 'description' => '多地域等价路由,取值:'."\n" + .'- **disable**:关闭多地域等价路由。关闭多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会优选Region ID最小的TR作为下一跳(按字母排序),此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再关闭。'."\n" + .'- **enable**:开启多地域等价路由。开启多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会形成等价路由,此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再开启。', + 'type' => 'string', + 'required' => false, + 'example' => 'disable', + 'enum' => [ + 'enable', + 'disable', + ], + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9D6D5548-F271-41C4-AA9F-A62F5599085B', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改企业版转发路由器路由表的名称和描述信息', + 'summary' => '调用UpdateTransitRouterRouteTable接口修改企业版转发路由器路由表的名称、描述信息和开启或关闭多地域等价路由。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouterRouteTables' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时,每次显示的条目数。取值范围:**1**~**100**,默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'dd20****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义路由表。'."\n" + .'- **System**:系统默认路由表。', + 'type' => 'string', + 'required' => false, + 'example' => 'Custom', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'tr-uf654ttymmljlvh2x****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Active**:可用。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'TransitRouterRouteTableNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由表的名称。'."\n" + ."\n" + .'您可以一次查询多个路由表的信息,**N**的最大值为**20**。'."\n" + ."\n" + .'> 如果您同时通过**TransitRouterRouteTableNames.N**和**TransitRouterRouteTableIds.N**查询路由表的信息时,路由表的名称和路由表的ID需保持一致。', + 'type' => 'array', + 'items' => [ + 'description' => '路由表的名称。'."\n" + ."\n" + .'您可以一次查询多个路由表的信息,**N**的最大值为**20**。'."\n" + ."\n" + .'> 如果您同时通过**TransitRouterRouteTableNames.N**和**TransitRouterRouteTableIds.N**查询路由表的信息时,路由表的名称和路由表的ID需保持一致。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + 'required' => false, + 'example' => 'testname', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'TransitRouterRouteTableIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由表的ID。'."\n" + ."\n" + .'您可以一次查询多个路由表的信息,**N**的最大值为**20**。', + 'type' => 'array', + 'items' => [ + 'description' => '路由表的ID。'."\n" + ."\n" + .'您可以一次查询多个路由表的信息,**N**的最大值为**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + 'required' => false, + 'example' => 'vtb-bp1l8awdb4iuo9uwu****', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RouteTableOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '路由表功能选项。', + 'type' => 'object', + 'properties' => [ + 'MultiRegionECMP' => [ + 'description' => '多地域等价路由,取值:'."\n" + .'- **disable**:关闭多地域等价路由。关闭多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会优选Region ID最小的TR作为下一跳(按字母排序),此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再关闭。'."\n" + .'- **enable**:开启多地域等价路由。开启多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会形成等价路由,此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再开启。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'disable' => 'disable', + 'enable' => 'enable', + ], + 'example' => 'disable', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'dd20****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '82678F4A-C9F7-4CC1-8BF0-D619A63BFC57', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时,每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TransitRouterRouteTables' => [ + 'description' => '路由表信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TransitRouterRouteTableStatus' => [ + 'description' => '路由表的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Active**:可用。', + 'type' => 'string', + 'example' => 'Active', + ], + 'TransitRouterRouteTableType' => [ + 'description' => '路由表的类型。'."\n" + ."\n" + .'- **Custom**:自定义路由表。'."\n" + .'- **System**:系统默认路由表。', + 'type' => 'string', + 'example' => 'System', + ], + 'CreateTime' => [ + 'description' => '路由表的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。', + 'type' => 'string', + 'example' => '2021-03-15T09:39Z', + ], + 'TransitRouterRouteTableId' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + 'TransitRouterRouteTableName' => [ + 'description' => '路由表的名称。', + 'type' => 'string', + 'example' => 'testname', + ], + 'TransitRouterRouteTableDescription' => [ + 'description' => '路由表的描述信息。', + 'type' => 'string', + 'example' => 'testdesc', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'test', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + 'RouteTableOptions' => [ + 'description' => '路由表功能选项。', + 'type' => 'object', + 'properties' => [ + 'MultiRegionECMP' => [ + 'description' => '多地域等价路由,取值:'."\n" + .'- **disable**:关闭多地域等价路由。关闭多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会优选Region ID最小的TR作为下一跳(按字母排序),此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再关闭。'."\n" + .'- **enable**:开启多地域等价路由。开启多地域等价路由后,从不同地域学到的相同前缀的路由在其他路由属性一致的情况下将会形成等价路由,此时流量的时延和不同地域间消耗的带宽会发生变化。请确保充分评估后再开启。', + 'type' => 'string', + 'enumValueTitles' => [ + 'disable' => 'disable', + 'enable' => 'enable', + ], + 'example' => 'disable', + ], + ], + ], + 'RegionId' => [ + 'description' => '企业版转发路由器实例所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-8vb8bie2koduo5awz****', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器的路由表信息', + 'summary' => '调用ListTransitRouterRouteTables接口查询企业版转发路由器的路由表的详细信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTransitRouterRouteEntry' => [ + 'summary' => '在企业版转发路由器的路由表中添加路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72308', + 'abilityTreeNodes' => [ + 'FEATUREcbnT33W0H', + 'FEATUREcbn476RI8', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的描述。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器的路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **BlackHole**:表示指定该路由条目为黑洞路由。所有去往目标网段的路由均会被丢弃,无需指定具体的下一跳信息。'."\n" + .'- **Attachment**:表示指定该路由条目的下一跳为网络实例连接,且需要指定具体的网络实例连接ID。所有去往目标网段的路由均会被转发至指定的网络实例连接。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'BlackHole', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryDestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段,支持IPv4地址和IPv6地址。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的下一跳所关联的网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接创建路由条目。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建路由条目。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'TransitRouterRouteEntryId' => [ + 'description' => '路由条目ID。', + 'type' => 'string', + 'example' => 'rte-75eg4jprkvk0pw****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '835E7F4B-B380-4E0F-96A5-6EA572388047', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '在企业版转发路由器的路由表中添加路由条目', + 'description' => '**CreateTransitRouterRouteEntry**接口属于异步接口,即系统会先返回一个路由条目ID,但该路由条目并未创建完成,系统后台的创建任务仍在进行。您可以调用**ListTransitRouterRouteEntries**接口查询路由条目的状态。 '."\n" + ."\n" + .'- 当路由条目处于**Creating**状态时,表示路由条目正在创建中。在该状态下,您只能对该路由条目执行查询操作,不能执行其他操作。'."\n" + .'- 当路由条目处于**Active**状态时,表示路由条目创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTransitRouterRouteEntry' => [ + 'summary' => '调用DeleteTransitRouterRouteEntry接口删除企业版转发路由器路由表中黑洞、连接实例类型的静态配置路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72329', + 'abilityTreeNodes' => [ + 'FEATUREcbnT33W0H', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接删除路由条目。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除路由条目。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rte-75eg4jprkvk0pw****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **BlackHole**:表示该路由条目为黑洞路由,无需指定具体的下一跳信息。'."\n" + .'- **Attachment**:表示该路由条目的下一跳为网络实例连接,且需要指定下一跳的网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'BlackHole', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryDestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '目的网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的下一跳所关联的网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除企业版转发路由器路由表中静态配置的路由条目', + 'description' => '在您调用本接口删除路由条目前,请先了解以下信息:'."\n" + ."\n" + .'- 如果您通过**TransitRouterRouteEntryId**删除指定的路由条目,则您无需填写**TransitRouterRouteTableId**和**TransitRouterRouteEntryDestinationCidrBlock**参数的值,否则会产生参数互斥。'."\n" + .'- 如果您未通过**TransitRouterRouteEntryId**删除指定的路由条目,则您需依据路由条目的下一跳类型,填写相应参数:'."\n" + .' - 如果您要删除黑洞路由,则您需要填写**TransitRouterRouteTableId**、**TransitRouterRouteEntryDestinationCidrBlock**、**TransitRouterRouteEntryNextHopType**参数的值。'."\n" + .' - 如果您要删除非黑洞路由,则您需要填写**TransitRouterRouteTableId**、**TransitRouterRouteEntryDestinationCidrBlock**、**TransitRouterRouteEntryNextHopType**、**TransitRouterRouteEntryNextHopId**参数的值。'."\n" + ."\n" + .'- **DeleteTransitRouterRouteEntry**接口属于异步接口,即系统会先返回一个**RequestId**,但路由条目并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTransitRouterRouteEntries**接口查询路由条目的状态。 '."\n" + ."\n" + .' - 当路由条目处于**Deleting**状态时,表示路由条目正在删除中。在该状态下,您只能对该路由条目执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到指定的路由条目时,表示该路由条目删除完成。'."\n" + ."\n" + .'### 使用限制'."\n" + ."\n" + .'本接口只能删除静态配置的路由条目,不支持删除自动学习的路由条目。您可以通过调用[ListTransitRouterRouteEntries](~~260941~~)接口查询路由条目的类型。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTransitRouterRouteEntry' => [ + 'summary' => '修改企业版转发路由器路由表中路由条目的名称和描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterRouteEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'rte-ksssq7kto4wfdx****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目修改后的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目修改后的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改路由条目的名称和描述信息。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改路由条目的名称和描述信息。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改企业版转发路由器路由表中路由条目的名称和描述信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouterRouteEntries' => [ + 'summary' => '调用ListTransitRouterRouteEntries接口查询企业版转发路由器路由表中的路由条目的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72395', + 'abilityTreeNodes' => [ + 'FEATUREcbnIIZZGE', + ], + ], + 'parameters' => [ + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时,每次显示的条目数。取值范围:**1**~**100**。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryDestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段(**本参数即将废弃,建议使用RouteFilter参数**)。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的状态。取值:'."\n" + ."\n" + .'- **All**:表示查询全部状态的路由条目。'."\n" + .'- **Active(默认值)**:表示仅查询生效状态的路由条目。'."\n" + .'- **Rejected**:表示仅查询因路由冲突而被拒绝的路由条目。'."\n" + .'- **Prohibited**:表示仅查询因匹配到路由策略而被禁止的路由条目。'."\n" + .'- **Standby**:表示仅查询作为备份的路由条目。'."\n" + .'- **Candidate**:表示仅查询作为候选的路由条目。'."\n" + ."\n" + .'如果您未指定本参数的值,系统默认仅查询生效状态的路由条目。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'fce19****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由条目的名称。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。'."\n" + ."\n" + .'>系统仅支持通过本参数查询当前路由表上静态配置的路由,且与TransitRouterRouteEntryIds之外的其他查询条件不兼容。', + 'type' => 'string', + 'required' => false, + 'example' => 'testname', + ], + 'required' => false, + 'example' => 'testname', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'TransitRouterRouteEntryIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由条目ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目ID。'."\n" + ."\n" + .'> 系统仅支持通过本参数查询当前路由表上静态配置的路由,且与TransitRouterRouteEntryNames之外的其他查询条件不兼容。', + 'type' => 'string', + 'required' => false, + 'example' => 'rte-oklkgwmj97z6dn****', + ], + 'required' => false, + 'example' => 'rte-oklkgwmj97z6dn****', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'TransitRouterRouteEntryType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的类型。取值:'."\n" + ."\n" + .'- **Propagated**:当前路由表自动学习产生。'."\n" + .'- **Static**:当前路由表静态配置产生。', + 'type' => 'string', + 'required' => false, + 'example' => 'Propagated', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **BlackHole**:表示指定该路由条目为黑洞路由。'."\n" + .'- **Attachment**:表示指定该路由条目的下一跳为网络实例连接。', + 'type' => 'string', + 'required' => false, + 'example' => 'Attachment', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的下一跳所关联的网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的下一跳实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-m5ent6du8deaq5*****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryNextHopResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的下一跳实例类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例。'."\n" + .'- **VBR**:边界路由器VBR(Virtual Border Router)实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:IPsec连接实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryOriginResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的起源实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-m5ent6du8deaq5*****', + ], + ], + [ + 'name' => 'TransitRouterRouteEntryOriginResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的起源实例类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例。'."\n" + .'- **VBR**:边界路由器VBR(Virtual Border Router)实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:IPsec连接实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-6ehtn5kqxgeyy08fi****', + ], + ], + [ + 'name' => 'RouteFilter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由条目网段过滤的条件信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目网段过滤条件信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件。取值:'."\n" + ."\n" + .'- **PrefixExactMatchCidrs**:精确匹配。'."\n" + .'- **LongestPrefixMatchCidrs**:最长前缀匹配,支持传入IP和CIDR。'."\n" + .'- **SubnetOfMatchCidrs**:子网匹配,匹配传入的CIDR的子网,含传入的CIDR。'."\n" + .'- **SupernetOfMatchCidrs**:超网匹配,匹配传入的CIDR的超网,含传入的CIDR。'."\n" + ."\n" + .'多个过滤条件之间默认是**与**的关系,即必须符合所有过滤条件,才视为匹配过滤条件。不能重复传入相同的过滤条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrefixExactMatchCidrs', + ], + 'Value' => [ + 'description' => '过滤条件值的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '根据**Key**指定过滤值。一个**Key**支持指定多个过滤值,多个过滤值之间是或的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。'."\n" + .'一个过滤条件最多支持输入500个过滤值。'."\n" + .'<br>支持IPv4、IPv6类型的地址和CIDR。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.1.0/24', + ], + 'required' => false, + 'maxItems' => 500, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'fce19****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C3835E5E-1504-4344-B1BB-98A4110F1079', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'MaxResults' => [ + 'description' => '分批次查询时,每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TransitRouterRouteEntries' => [ + 'description' => '路由条目信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目信息。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterRouteEntryId' => [ + 'description' => '路由条目ID。'."\n" + ."\n" + .'>只有静态配置的路由才会返回该参数值。', + 'type' => 'string', + 'example' => 'rte-oklkgwmj97z6dn****', + ], + 'TransitRouterRouteEntryDestinationCidrBlock' => [ + 'description' => '路由条目的目标网段,返回IPv4地址段或者IPv6地址段。', + 'type' => 'string', + 'example' => '192.168.0.0/24', + ], + 'TransitRouterRouteEntryType' => [ + 'description' => '路由条目的类型。'."\n" + ."\n" + .'- **Static**:表示该路由条目为静态配置的路由。'."\n" + .'- **Propagated**:表示该路由条目为自动学习到的路由。', + 'type' => 'string', + 'example' => 'Static', + ], + 'CreateTime' => [ + 'description' => '路由条目的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mmZ。'."\n" + ."\n" + .'>只有静态配置的路由才会返回该参数值。', + 'type' => 'string', + 'example' => '2021-06-15T07:01Z', + ], + 'TransitRouterRouteEntryName' => [ + 'description' => '路由条目的名称。'."\n" + ."\n" + .'>只有静态配置的路由才会返回该参数值。', + 'type' => 'string', + 'example' => 'testname', + ], + 'TransitRouterRouteEntryStatus' => [ + 'description' => '路由条目的生效状态。'."\n" + ."\n" + .'- **Active**:生效。'."\n" + .'- **Rejected**:路由冲突拒绝。'."\n" + .'- **Prohibited**:路由策略禁止。'."\n" + .'- **Standby**:备份。'."\n" + .'- **Candidate**:候选。'."\n" + .'- **Creating**:添加中。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'TransitRouterRouteEntryNextHopType' => [ + 'description' => '路由条目的下一跳类型。'."\n" + ."\n" + .'- **BlackHole**:表示该路由条目为黑洞路由,所有去往目标网段的路由均会被丢弃。'."\n" + .'- **Attachment**:表示该路由条目的下一跳为网络实例连接,所有去往目标网段的路由均会被转发至指定的网络实例连接。', + 'type' => 'string', + 'example' => 'BlackHole', + ], + 'TransitRouterRouteEntryNextHopId' => [ + 'description' => '路由条目的下一跳ID。黑洞路由不会返回该参数值。', + 'type' => 'string', + 'example' => 'tr-attach-vx6iwhjr1x1j78****', + ], + 'TransitRouterRouteEntryDescription' => [ + 'description' => '路由条目的描述信息。'."\n" + ."\n" + .'>只有静态配置的路由才会返回该参数值。', + 'type' => 'string', + 'example' => 'CidrRoute', + ], + 'OperationalMode' => [ + 'description' => '当前路由条目是否可操作。'."\n" + ."\n" + .'- **true**:可操作,表示您可以对当前路由条目执行删除操作。'."\n" + .'- **false**:不可操作,表示当前路由条目为系统自动生成,不支持编辑。'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Tag' => [ + 'description' => '路由条目的标签。'."\n" + ."\n" + .'仅取值:**PermitVbr**,表示当前路由条目仅会被传播至转发路由器实例下VBR实例的路由表中。'."\n" + ."\n" + .'> 仅系统自动生成的转发路由器地址段的路由会返回当前参数。', + 'type' => 'string', + 'example' => 'PermitVbr', + ], + 'TransitRouterRouteEntryNextHopResourceId' => [ + 'description' => '路由条目的下一跳实例ID。', + 'type' => 'string', + 'example' => 'vpc-m5ent6du8deaq5*****', + ], + 'TransitRouterRouteEntryNextHopResourceType' => [ + 'description' => '路由条目的下一跳实例类型。'."\n" + ."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例。'."\n" + .'- **VBR**:边界路由器VBR(Virtual Border Router)实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:IPsec连接实例。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'TransitRouterRouteEntryOriginResourceType' => [ + 'description' => '路由条目的起源实例类型。'."\n" + ."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例。'."\n" + .'- **VBR**:边界路由器VBR(Virtual Border Router)实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:IPsec连接实例。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'TransitRouterRouteEntryOriginResourceId' => [ + 'description' => '路由条目的起源实例ID。', + 'type' => 'string', + 'example' => 'vpc-m5ent6du8deaq5*****', + ], + 'PrefixListId' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'example' => 'pl-k1ainl66z3527773d****', + ], + 'PathAttributes' => [ + 'description' => '路由路径属性。', + 'type' => 'object', + 'properties' => [ + 'Communities' => [ + 'description' => '路由条目的Community属性列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的Community属性值。', + 'type' => 'string', + 'example' => '65501:1', + ], + ], + 'AsPaths' => [ + 'description' => '路由条目的AS Path属性列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的AS Path属性值。', + 'type' => 'string', + 'example' => '65501', + ], + ], + 'OriginInstanceId' => [ + 'description' => '路由产生的原始实例ID。', + 'type' => 'string', + 'example' => 'vbr-m5ent6du8deaq5*****'."\n", + ], + 'OriginInstanceType' => [ + 'description' => '路由产生的原始实例类型。'."\n" + ."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例。'."\n" + .'- **VBR**:边界路由器VBR(Virtual Border Router)实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:IPsec连接实例。'."\n" + .'- **CCN**:云连接网(Cloud Connect Network)实例。', + 'type' => 'string', + 'example' => 'VBR', + ], + 'OriginRouteType' => [ + 'description' => '路由产生时候的路由类型。'."\n" + ."\n" + .'- **System**:系统路由。'."\n" + .'- **Custom**:自定义路由。'."\n" + .'- **Static**:静态路由。'."\n" + .'- **BGP**:BGP路由。'."\n" + .'- **BlackHole**:黑洞路由。', + 'type' => 'string', + 'example' => 'BGP', + ], + 'Preference' => [ + 'description' => '路由条目的优先级。'."\n" + ."\n" + .'优先级数字越小,表示优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '查询企业版转发路由器路由表中的路由条目信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouterRouteTableAssociations' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。默认值:**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'a415****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentResourceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '下一跳资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳资源类型。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:VPN连接。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '关联转发的状态。'."\n" + .'- **Active**:可用。'."\n" + .'- **Associating**:加载中。'."\n" + .'- **Dissociating**:卸载中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'a415****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F6B1D9AB-176D-4399-801D-8BC576F4EB0D', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'TransitRouterAssociations' => [ + 'description' => '关联转发关系信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '关联转发关系信息。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + 'Status' => [ + 'description' => '关联转发的状态。'."\n" + ."\n" + .'- **Active**:可用。'."\n" + .'- **Associating**:加载中。'."\n" + .'- **Dissociating**:卸载中。'."\n" + .'- **Deleted**:已卸载。', + 'type' => 'string', + 'example' => 'Associating', + ], + 'ResourceType' => [ + 'description' => '下一跳资源类型。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:VPN连接。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'ResourceId' => [ + 'description' => '下一跳资源ID。', + 'type' => 'string', + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + 'TransitRouterRouteTableId' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器路由表或网络实例连接已创建的关联转发关系', + 'summary' => '调用ListTransitRouterRouteTableAssociations接口查询企业版转发路由器路由表或网络实例连接已创建的关联转发关系。', + 'description' => '调用**ListTransitRouterRouteTableAssociations**接口时,请求参数**TransitRouterRouteTableId**和**TransitRouterAttachmentId**需至少输入一个:'."\n" + ."\n" + .'- 如果仅指定了**TransitRouterRouteTableId**参数的值,则表示您要查询与企业版转发路由器路由表创建关联转发关系的网络实例连接的信息。'."\n" + .'- 如果仅指定了**TransitRouterAttachmentId**参数的值,则表示您要查询与网络实例连接创建关联转发关系的企业版转发路由器路由表的信息。'."\n" + .'- 如果同时指定了**TransitRouterRouteTableId**和**TransitRouterAttachmentId**参数的值,则表示您要查询网络实例连接与企业版转发路由器路由表之间的关联转发关系。'."\n" + .' - 如果网络实例连接和企业版转发路由器路由表之间存在关联转发关系,则系统正常返回关联转发关系的信息。'."\n" + .' - 如果网络实例连接和企业版转发路由器路由表之间不存在关联转发关系,则**TransitRouterAssociations**数组返回为空值。'."\n" + ."\n" + .'在调用**ListTransitRouterRouteTableAssociations**接口过程时请确保输入的参数值无误。'."\n" + .'如果您输入的参数有误调用接口后仍然会返回**RequestId**信息,但不会企业版转发路由器路由表或网络实例连接已创建的关联转发关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateTransitRouterAttachmentWithRouteTable' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接创建关联转发关系。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建关联转发关系。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + '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.', + ], + ], + 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\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"<AssociateTransitRouterAttachmentWithRouteTableResponse>\\n <RequestId>4EC47282-1B74-4534-BD0E-403F3EE64CAF</RequestId>\\n</AssociateTransitRouterAttachmentWithRouteTableResponse>","errorExample":""}]', + 'title' => '创建关联转发关系', + 'summary' => '创建关联转发关系。', + 'description' => '创建网络实例连接后,您需要为其设置关联转发关系,将网络实例连接关联到企业版转发路由器路由表。关联后,企业版转发路由器将依据该路由表中的路由条目信息转发网络实例的流量。在调用本接口创建关联转发关系前,请先了解以下信息:'."\n" + ."\n" + .'- 仅企业版转发路由器路由表支持创建关联转发关系。关于企业版转发路由器支持的地域和可用区信息,请参见[什么是云企业网](~~181681~~)。'."\n" + .'- 一个网络实例连接仅支持与一个企业版转发路由器路由表建立关联转发关系。'."\n" + .'- **AssociateTransitRouterAttachmentWithRouteTable**接口属于异步接口,即系统会先返回一个**RequestId**,但网络实例连接和路由表并未完全建立关联转发关系,系统后台的关联任务仍在进行。您可以调用**ListTransitRouterRouteTableAssociations**接口查询网络实例连接和路由表的关联转发状态。'."\n" + ."\n" + .' - 当关联转发状态为**Associating**时,表示网络实例连接和路由表正在建立关联转发关系。在该状态下,您只能对网络实例连接和路由表之间的关联转发关系执行查询操作,不能执行其他操作。'."\n" + .' - 当关联转发状态为**Active**时,表示网络实例连接和路由表已成功建立关联转发关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReplaceTransitRouterRouteTableAssociation' => [ + 'summary' => '更换网络实例连接关联的转发路由器路由表。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会更换网络实例连接关联的转发路由器路由表。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接更换网络实例连接关联的转发路由器路由表。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-attach-071g5j5tefg4x6****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接待关联的转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-bp1cprmc6xmzjd66i****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '160BD7D3-3D1E-5702-9AF0-56E4B15FCB65', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '更换网络实例连接关联的转发路由器路由表', + 'description' => '- 仅企业版转发路由器下的网络实例连接支持变更关联的转发路由器路由表。'."\n" + .'- **ReplaceTransitRouterRouteTableAssociation**接口属于异步接口,即系统会先返回一个**RequestId**,但网络实例连接关联的转发路由器路由表并未变更成功。系统后台的变更任务仍在进行。您可以调用**ListTransitRouterRouteTableAssociations**接口查询网络实例连接和新的转发路由器路由表之间的关联转发状态。'."\n" + ."\n" + .' - 当关联转发状态为**Replacing**时,表示网络实例连接正在变更关联的转发路由器路由表。在该状态下,您只能对网络实例连接和转发路由器路由表之间的关联转发关系执行查询操作,不能执行其他操作。'."\n" + .' - 当关联转发状态为**Active**时,表示网络实例连接已成功变更关联的转发路由器路由表。', + ], + 'DissociateTransitRouterAttachmentFromRouteTable' => [ + 'summary' => '解除关联转发关系。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接解除关联转发关系。'."\n" + .'- **true**:发送检查请求,只进行校验,不会解除关联转发关系。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAttachmentId.NotFound', + 'errorMessage' => 'The specified AttachmentId is not found.', + ], + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'The specified RouteTableId is not found.', + ], + ], + ], + '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' => '解除关联转发关系', + 'description' => '**DissociateTransitRouterAttachmentFromRouteTable**接口属于异步接口,即系统会先返回一个**RequestId**,但网络实例连接和路由表并未完全解除关联转发关系,系统后台的解除任务仍在进行。您可以调用**ListTransitRouterRouteTableAssociations**接口查询网络实例连接和路由表的关联转发状态。 '."\n" + ."\n" + .'- 当关联转发状态为**Dissociating**时,表示网络实例连接和路由表正在解除关联转发关系。在该状态下,您只能对网络实例连接和路由表之间的关联转发关系执行查询操作,不能执行其他操作。'."\n" + .'- 当**ListTransitRouterRouteTableAssociations**接口无法查询到网络实例连接和路由表的关联转发关系时,表示网络实例连接和路由表已成功解除关联转发关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'EnableTransitRouterRouteTablePropagation' => [ + 'summary' => '创建路由学习关系。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-nls9fzkfat8934****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接创建路由学习关系。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建路由学习关系。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '59CF8BF9-DE61-421E-B903-D56AF46A303C', + ], + ], + ], + ], + ], + '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' => '创建路由学习关系', + 'description' => '在您创建网络实例连接后,您可以为其设置路由学习关系。设置后,网络实例连接自动传播网络实例的路由至其关联的路由表中。在调用本接口创建路由学习关系前,请先了解以下信息:'."\n" + ."\n" + .'- 仅企业版转发路由器支持创建路由学习关系。关于企业版转发路由器支持的地域和可用区信息,请参见[什么是云企业网](~~181681~~)。'."\n" + .'- **EnableTransitRouterRouteTablePropagation**接口属于异步接口,即系统会先返回一个**RequestId**,但网络实例连接和路由表并未完全建立路由学习关系,系统后台的创建任务仍在进行。您可以调用**ListTransitRouterRouteTablePropagations**接口查询网络实例连接和路由表之间的路由学习关系。 '."\n" + ."\n" + .' - 当路由学习关系处于为**Enabling**状态时,表示网络实例连接和路由表正在建立路由学习关系。在该状态下,您只能对网络实例连接和路由表之间的路由学习关系执行查询操作,不能执行其他操作。'."\n" + .' - 当路由学习关系处于**Active**状态时,表示网络实例连接和路由表已成功建立路由学习关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DisableTransitRouterRouteTablePropagation' => [ + 'summary' => '解除路由学习关系。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-vx6iwhjr1x1j78****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接解除路由学习关系。'."\n" + .'- **true**:发送检查请求,只进行校验,不会解除路由学习关系。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A7C43F99-B1E5-4A53-AB64-4BAE8AF4484E', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'The specified RouteTableId is not found.', + ], + ], + ], + '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' => '解除路由学习关系', + 'description' => '**DisableTransitRouterRouteTablePropagation**接口属于异步接口,即系统会先返回一个**RequestId**,但网络实例连接和路由表并未完全解除路由学习关系,系统后台的解除任务仍在进行。您可以调用**ListTransitRouterRouteTablePropagations**接口查询网络实例连接和路由表之间的路由学习关系。 '."\n" + ."\n" + .'- 当路由学习关系处于**Disabling**状态时,表示网络实例连接和路由表正在解除路由学习关系。在该状态下,您只能对网络实例连接和路由表之间的路由学习关系执行查询操作,不能执行其他操作。'."\n" + .'- 当**ListTransitRouterRouteTableAssociations**接口无法查询到网络实例连接和路由表的路由学习关系时,表示网络实例连接和路由表已成功解除路由学习关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTransitRouterRouteTablePropagations' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时,每次显示的条目数。默认值为**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时,下一次查询的Token。', + 'type' => 'string', + 'required' => false, + 'example' => 'dd20****', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'tr-attach-vx6iwhjr1x1j78****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例类型。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:VPN连接。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '路由学习关系状态。'."\n" + .'- **Active**:可用。'."\n" + .'- **Enabling**:加载中。'."\n" + .'- **Disabling**:卸载中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '分批次查询时,下一次查询的Token。', + 'type' => 'string', + 'example' => 'dd20****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '04C81E0D-945E-4D61-A561-3DEA322F243B', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'MaxResults' => [ + 'description' => '分批次查询时,每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'TransitRouterPropagations' => [ + 'description' => '路由学习关系信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-vx6iwhjr1x1j78****', + ], + 'Status' => [ + 'description' => '路由学习关系状态。'."\n" + ."\n" + .'- **Enabling**:加载中。'."\n" + .'- **Disabling**:卸载中。'."\n" + .'- **Active**:可用。', + 'type' => 'string', + 'example' => 'Active', + ], + 'ResourceType' => [ + 'description' => '网络实例类型。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VPN**:VPN连接。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'ResourceId' => [ + 'description' => '网络实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + 'TransitRouterRouteTableId' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1dudbh2d5na6b50****', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器路由表的路由学习关系', + 'summary' => '查询企业版转发路由器路由表的路由学习关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateCenRouteMap' => [ + 'summary' => '通过路由策略功能,可以过滤路由信息,帮助您自定义管理云上网络互通能力,您可以调用CreateCenRouteMap接口创建路由策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72302', + 'abilityTreeNodes' => [ + 'FEATUREcbnL0VP69', + 'FEATUREcbnCEHNQQ', + 'FEATUREcbnK70KRY', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'CenRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略应用的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransmitDirection', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略的应用方向。取值:'."\n" + ."\n" + .'- **RegionIn**:入地域网关方向,表示路由传入云企业网地域网关的方向。'."\n" + ."\n" + .' 例如:路由从本地域的网络实例发布到本地域网关,或其他地域的路由发布到本地域网关。'."\n" + ."\n" + .'- **RegionOut**:出地域网关方向,表示路由传出云企业网地域网关的方向。'."\n" + ."\n" + .' 例如:路由从本地域网关发布到本地域下的网络实例,或发布到其他地域的地域网关。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'RegionIn', + 'enum' => [ + 'RegionIn', + 'RegionOut', + ], + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略的优先级。取值范围:**1**~**100**。优先级数字越小,表示优先级越高。'."\n" + ."\n" + .'> 同地域、同应用方向的路由策略优先级唯一。执行路由策略时,系统从优先级数字最小的路由策略开始匹配条件语句,因此在指定路由策略优先级时,要注意符合期望的匹配顺序。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'maximum' => '2999', + 'minimum' => '1', + 'example' => '3', + ], + ], + [ + 'name' => 'MapResult', + 'in' => 'query', + 'schema' => [ + 'description' => '所有条件都匹配后的策略行为。取值:'."\n" + ."\n" + .'- **Permit**:允许匹配的路由通过。'."\n" + ."\n" + .'- **Deny**:拒绝匹配的路由通过。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Permit', + 'enum' => [ + 'Permit', + 'Deny', + ], + ], + ], + [ + 'name' => 'NextPriority', + 'in' => 'query', + 'schema' => [ + 'description' => '关联的下一条路由策略的优先级。'."\n" + ."\n" + .'- 仅**MapResult**取值为**Permit**时,才支持设置关联策略优先级,且被允许通过的路由才会继续匹配关联的下一条路由策略。'."\n" + .'- 要关联的下一条路由策略必须和当前路由策略拥有相同的地域和应用方向。'."\n" + .'- 关联的下一条路由策略的优先级必须低于当前路由策略的优先级。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'docRequired' => false, + 'maximum' => '1000', + 'minimum' => '1', + 'example' => '20', + ], + ], + [ + 'name' => 'CidrMatchMode', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的匹配模式。取值:'."\n" + ."\n" + .'- **Include**:模糊匹配。匹配条件中的路由前缀包含被匹配路由的路由前缀即判定为匹配成功。'."\n" + ."\n" + .' 例如:定义10.10.0.0/16的策略可以模糊匹配到10.10.1.0/24的路由。'."\n" + ."\n" + .'- **Complete**:精确匹配。匹配条件中的路由前缀必须与被匹配路由的路由前缀一致,才判定为匹配成功。 '."\n" + ."\n" + .' 例如:定义10.10.0.0/16的策略仅可以精确匹配到10.10.0.0/16的路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'Include ', + 'enum' => [ + 'Include', + 'Complete', + ], + ], + ], + [ + 'name' => 'AsPathMatchMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'AS Path列表的匹配模式。取值:'."\n" + ."\n" + .'- **Include**:模糊匹配,匹配条件中的AS Path与被匹配路由的AS Path有重叠即判定为匹配成功。 '."\n" + ."\n" + .'- **Complete**:精确匹配,匹配条件中的AS Path必须与被匹配路由的AS Path一致,才判定为匹配成功。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'Include', + 'enum' => [ + 'Include', + 'Complete', + ], + ], + ], + [ + 'name' => 'CommunityMatchMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Community的匹配模式。取值:'."\n" + ."\n" + .'- **Include**:模糊匹配,匹配条件中的Community与被匹配路由的Community有重叠即判定为匹配成功。 '."\n" + ."\n" + .'- **Complete**:精确匹配,匹配条件中的Community必须与被匹配路由的Community一致,才判定为匹配成功。', + 'type' => 'string', + 'required' => false, + 'example' => 'Include', + 'enum' => [ + 'Include', + 'Complete', + 'Contain', + ], + ], + ], + [ + 'name' => 'CommunityOperateMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Community的执行模式。取值:'."\n" + ."\n" + .'- **Additive**:添加,表示为路由添加Community。'."\n" + ."\n" + .'- **Replace**:替换,表示替换路由原有的Community。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'string', + 'required' => false, + 'example' => 'Additive', + 'enum' => [ + 'Additive', + 'Replace', + ], + ], + ], + [ + 'name' => 'Preference', + 'in' => 'query', + 'schema' => [ + 'description' => '修改路由的优先级。'."\n" + ."\n" + .'取值范围:**1**~**100**。路由的优先级默认为**50**,取值越小优先级越高。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '50', + ], + ], + [ + 'name' => 'SourceInstanceIdsReverseMatch', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用源实例ID列表的排除匹配模式。取值:'."\n" + ."\n" + .'- **false**(默认值):否,即路由传递的源实例ID在**SourceInstanceIds.N**中时,匹配通过。'."\n" + ."\n" + .'- **true**:是,即路由传递的源实例ID不在**SourceInstanceIds.N**中时,匹配通过。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'DestinationInstanceIdsReverseMatch', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用目的实例ID列表的排除匹配模式。取值:'."\n" + ."\n" + .'- **false**(默认值):否,即路由传递的目的实例ID在**DestinationInstanceIds.N**中时,匹配通过。'."\n" + ."\n" + .'- **true**:是,即路由传递的目的实例ID不在**DestinationInstanceIds.N**中时,匹配通过。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'MatchAddressType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由需匹配的IP地址类型。取值:'."\n" + ."\n" + .'- **IPv4**:表示只匹配IPv4路由。'."\n" + .'- **IPv6**:表示只匹配IPv6路由。'."\n" + ."\n" + .'本参数可以为空,表示匹配所有类型的路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器的路由表ID。'."\n" + ."\n" + .'如果您不输入路由表ID,则路由策略自动关联至转发路由器的默认路由表。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-gw8nx3515m1mbd1z1****', + ], + ], + [ + 'name' => 'SourceInstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-adeg3544fdf34vf****', + ], + 'required' => false, + 'example' => 'vpc-adeg3544fdf34vf****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationInstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例ID为本地域下的实例ID时,目的实例ID列表才会生效。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例ID为本地域下的实例ID时,目的实例ID列表才会生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-afrfs434465fdf****', + ], + 'required' => false, + 'example' => 'vpc-afrfs434465fdf****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'SourceRouteTableIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源路由表ID列表。最多支持输入32个路由表ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源路由表ID列表。最多支持输入32个路由表ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-adfr233vf34rvd4****', + ], + 'required' => false, + 'example' => 'vtb-adfr233vf34rvd4****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationRouteTableIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的路由表ID列表。最多支持输入32个路由表ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的路由表ID为本地域下网络实例的路由表ID时,目的路由表ID列表才会生效。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的路由表ID列表。最多支持输入32个路由表ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的路由表ID为本地域下网络实例的路由表ID时,目的路由表ID列表才会生效。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-adefrgtr144vf****', + ], + 'required' => false, + 'example' => 'vtb-adefrgtr144vf****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'SourceRegionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源地域ID列表。最多支持输入32个地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源地域ID列表。最多支持输入32个地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + 'required' => false, + 'example' => 'cn-beijing', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'SourceChildInstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:VPN网关实例或者IPsec连接。'."\n" + ."\n" + .' - 如果IPsec连接或SSL服务端绑定了VPN网关实例,则VPN网关实例关联的VPC必须连接至转发路由器实例,且VPN网关实例必须运行BGP动态路由协议,本参数才能生效。'."\n" + .' - 如果IPsec连接直接绑定了转发路由器实例,则本参数生效。'."\n" + ."\n" + .'支持输入多种实例类型。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:VPN网关实例或IPsec连接。'."\n" + .' '."\n" + .' - 如果IPsec连接或SSL服务端绑定了VPN网关实例,则VPN网关实例关联的VPC必须连接至转发路由器实例,且VPN网关实例必须运行BGP动态路由协议,本参数才能生效。'."\n" + .' - 如果IPsec连接直接绑定了转发路由器实例,则本参数生效。'."\n" + ."\n\n" + .'支持输入多种实例类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + 'required' => false, + 'example' => 'VPC', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationChildInstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .' > 如果IPsec连接或者SSL服务端绑定了VPN网关实例,并通过VPN网关实例关联的VPC连接至了转发路由器实例,则本参数不生效。本参数仅当IPsec连接直接绑定转发路由器实例时才生效。'."\n" + ."\n" + .'支持输入多种实例类型。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例类型为本地域下的实例类型时,目的实例类型列表才会生效。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .' > 如果IPsec连接或者SSL服务端绑定了VPN网关实例,并通过VPN网关实例关联的VPC连接至了转发路由器实例,则本参数不生效。本参数仅当IPsec连接直接绑定转发路由器实例时才生效。'."\n" + ."\n" + .'支持输入多种实例类型。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例类型为本地域下的实例类型时,目的实例类型列表才会生效。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + 'required' => false, + 'example' => 'VPC', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationCidrBlocks', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的前缀列表。'."\n" + ."\n" + .'前缀列表中的IP地址段使用CIDR格式,最多支持输入32个IP地址段。'."\n" + ."\n" + .'支持IPv4、IPv6格式。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的前缀列表。'."\n" + ."\n" + .'前缀列表中的IP地址段使用CIDR格式,最多支持输入32个IP地址段。'."\n" + ."\n" + .'支持IPv4、IPv6格式。', + 'type' => 'string', + 'required' => false, + 'example' => '10.10.10.0/24', + ], + 'required' => false, + 'example' => '10.10.10.0/24', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'RouteTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的路由类型列表。支持以下路由类型:'."\n" + ."\n" + .'- **System**:系统路由,由系统自动生成的路由。'."\n" + ."\n" + .'- **Custom**:自定义路由,由用户手动添加的路由。'."\n" + ."\n" + .'- **BGP**:BGP路由,通过BGP路由协议传播的路由。'."\n" + ."\n" + .'支持输入多种路由类型。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的路由类型列表。支持以下路由类型:'."\n" + ."\n" + .'- **System**:系统路由,由系统自动生成的路由。'."\n" + ."\n" + .'- **Custom**:自定义路由,由用户手动添加的路由。'."\n" + ."\n" + .'- **BGP**:BGP路由,通过BGP路由协议传播的路由。'."\n" + ."\n" + .'支持输入多种路由类型。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'System', + ], + 'required' => false, + 'example' => 'System', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'MatchAsns', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的AS Path列表。'."\n" + ."\n" + .'最多支持输入32个AS号码。'."\n" + ."\n" + .'> 仅支持AS SEQUENCE,不支持AS SET、AS CONFED SEQUENCE和AS CONFED SET,即只能是AS号列表,不支持集合和子列表。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的AS Path列表。'."\n" + ."\n" + .'最多支持输入32个AS号码。'."\n" + ."\n" + .'> 仅支持AS SEQUENCE,不支持AS SET、AS CONFED SEQUENCE和AS CONFED SET,即只能是AS号列表,不支持集合和子列表。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65501', + ], + 'required' => false, + 'example' => '65501', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'MatchCommunitySet', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Community(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Community(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '65501:1', + ], + 'required' => false, + 'example' => '65501:1', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'OperateCommunitySet', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要执行的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Communities(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '要执行的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Communities(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '65501:1', + ], + 'required' => false, + 'example' => '65501:1', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'PrependAsPath', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '地域网关接收或发布路由时附加的AS Path。'."\n" + ."\n" + .'路由策略应用方向不同,配置附加AS Path的要求也不同,具体如下:'."\n" + ."\n" + .'- 入地域网关方向配置附加AS Path时,匹配条件中必须配置源实例ID列表和源地域,且源地域必须与路由策略应用的地域一致。'."\n" + ."\n" + .'- 出地域网关方向配置附加AS Path时,匹配条件中必须配置目的实例ID列表。'."\n" + ."\n\n" + .'本参数表示路由通过匹配条件后,要执行的操作。最多支持输入32个AS号码。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '地域网关接收或发布路由时附加的AS Path。'."\n" + ."\n" + .'路由策略应用方向不同,配置附加AS Path的要求也不同,具体如下:'."\n" + ."\n" + .'- 入地域网关方向配置附加AS Path时,匹配条件中必须配置源实例ID列表和源地域,且源地域必须与路由策略应用的地域一致。'."\n" + ."\n" + .'- 出地域网关方向配置附加AS Path时,匹配条件中必须配置目的实例ID列表。'."\n" + ."\n\n" + .'本参数表示路由通过匹配条件后,要执行的操作。最多支持输入32个AS号码。'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65501', + ], + 'required' => false, + 'example' => '65501', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationRegionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的地域ID列表。最多支持输入32个地域ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的地域ID列表。最多支持输入32个地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + 'required' => false, + 'maxItems' => 32, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RouteMapId' => [ + 'description' => '路由策略的ID。', + 'type' => 'string', + 'example' => 'cenrmap-w4yf7toozfol3q****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '62172DD5-6BAC-45DF-8D44-56SDF467BAC', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '创建路由策略', + 'description' => '路由策略按照优先级进行排列,优先级数字越小,优先级越高。每条路由策略都是条件语句和执行语句的集合。执行路由策略时,路由从优先级最高的路由策略开始匹配条件语句,对于符合全部匹配条件的路由,路由策略将按照策略行为允许路由通过或拒绝路由通过,允许通过的路由支持修改路由属性;对于不符合全部匹配条件的路由,系统默认允许路由通过。更多信息,请参见[路由策略概述](~~124157~~)。'."\n" + ."\n" + .'`CreateCenRouteMap`接口属于异步接口,即系统会先返回一个路由策略ID,但该路由策略并未创建完成,系统后台的创建任务仍在进行。您可以调用`DescribeCenRouteMaps`接口查询路由策略的状态。'."\n" + .'- 当路由策略处于**Creating**状态时,表示路由策略正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .'- 当路由策略处于**Active**状态时,表示路由策略创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteCenRouteMap' => [ + 'summary' => '调用DeleteCenRouteMap接口删除指定的路由策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72322', + 'abilityTreeNodes' => [ + 'FEATUREcbnL0VP69', + 'FEATUREcbnCEHNQQ', + 'FEATUREcbnK70KRY', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jm****', + ], + ], + [ + 'name' => 'CenRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略应用的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteMapId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenrmap-abcdedfghij****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除路由策略', + 'description' => '`DeleteCenRouteMap`接口属于异步接口,即系统会先返回一个**RequestId**,但该路由策略并未被完全删除,系统后台的删除任务仍在进行。您可以调用`DescribeCenRouteMaps`接口查询路由策略的状态。'."\n" + ."\n" + .'- 当路由策略处于**Deleting**状态时,表示路由策略正在被删除,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .'- 当`DescribeCenRouteMaps`接口无法查询到该路由策略时,表示路由策略已被完全删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCenRouteMap' => [ + 'summary' => '调用ModifyCenRouteMap接口修改路由策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72411', + 'abilityTreeNodes' => [ + 'FEATUREcbnL0VP69', + 'FEATUREcbnCEHNQQ', + 'FEATUREcbnK70KRY', + ], + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'CenRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略应用的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteMapId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cenrmap-abcdedfghij****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'MapResult', + 'in' => 'query', + 'schema' => [ + 'description' => '所有条件都匹配后的策略行为。取值:'."\n" + ."\n" + .'- **Permit**:允许匹配的路由通过。'."\n" + ."\n" + .'- **Deny**:拒绝匹配的路由通过。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Permit', + 'enum' => [ + 'Permit', + 'Deny', + ], + ], + ], + [ + 'name' => 'NextPriority', + 'in' => 'query', + 'schema' => [ + 'description' => '关联的下一条路由策略的优先级。'."\n" + ."\n" + .'- 仅**MapResult**取值为**Permit**时,才支持设置关联策略优先级,且被允许通过的路由才会继续匹配关联的下一条路由策略。'."\n" + .'- 要关联的下一条路由策略必须和当前路由策略拥有相同的地域和应用方向。'."\n" + .'- 关联的下一条路由策略的优先级必须低于(数字大于)当前路由策略的优先级。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'docRequired' => false, + 'maximum' => '1000', + 'minimum' => '1', + 'example' => '20', + ], + ], + [ + 'name' => 'CidrMatchMode', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的匹配模式。取值:'."\n" + ."\n" + .'- **Include**:模糊匹配。匹配条件中的路由前缀包含被匹配路由的路由前缀即判定为匹配成功。'."\n" + ."\n" + .' 例如:定义10.10.0.0/16的策略可以模糊匹配到10.10.1.0/24的路由。'."\n" + ."\n" + .'- **Complete**:精确匹配。匹配条件中的路由前缀必须与被匹配路由的路由前缀一致,才判定为匹配成功。 '."\n" + ."\n" + .' 例如:定义10.10.0.0/16的策略仅可以精确匹配到10.10.0.0/16的路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'Include ', + 'enum' => [ + 'Include', + 'Complete', + ], + ], + ], + [ + 'name' => 'AsPathMatchMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'AS Path列表的匹配模式。取值:'."\n" + ."\n" + .'- **Include**:模糊匹配,匹配条件中的AS Path与被匹配路由的AS Path有重叠即判定为匹配成功。 '."\n" + ."\n" + .'- **Complete**:精确匹配,匹配条件中的AS Path必须与被匹配路由的AS Path一致,才判定为匹配成功。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'Include', + 'enum' => [ + 'Include', + 'Complete', + ], + ], + ], + [ + 'name' => 'CommunityMatchMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Community的匹配模式。取值:'."\n" + ."\n" + .'- **Include**:模糊匹配,匹配条件中的Community与被匹配路由的Community有重叠即判定为匹配成功。 '."\n" + ."\n" + .'- **Complete**:精确匹配,匹配条件中的Community必须与被匹配路由的Community一致,才判定为匹配成功。', + 'type' => 'string', + 'required' => false, + 'example' => 'Include', + 'enum' => [ + 'Include', + 'Complete', + 'Contain', + ], + ], + ], + [ + 'name' => 'CommunityOperateMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Community的执行模式。取值:'."\n" + ."\n" + .'- **Additive**:添加,表示为路由添加Community。'."\n" + ."\n" + .'- **Replace**:替换,表示替换路由原有的Community。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'string', + 'required' => false, + 'example' => 'Additive', + 'enum' => [ + 'Additive', + 'Replace', + ], + ], + ], + [ + 'name' => 'Preference', + 'in' => 'query', + 'schema' => [ + 'description' => '修改路由的优先级。'."\n" + ."\n" + .'取值范围:**1**~**100**。路由的优先级默认为**50**,取值越小优先级越高。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '22', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略的优先级。取值范围:**1**~**100**。优先级数字越小,表示优先级越高。'."\n" + ."\n" + .'> 同地域、同应用方向的路由策略优先级唯一。执行路由策略时,系统从优先级数字最小的路由策略开始匹配条件语句,因此在指定路由策略优先级时,要注意符合期望的匹配顺序。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'maximum' => '1000', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'SourceInstanceIdsReverseMatch', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用源实例ID列表的排除匹配模式。取值:'."\n" + ."\n" + .'- **false**(默认值):否,即路由传递的源实例ID在**SourceInstanceIds.N**中时,匹配通过。'."\n" + ."\n" + .'- **true**:是,即路由传递的源实例ID不在**SourceInstanceIds.N**中时,匹配通过。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'DestinationInstanceIdsReverseMatch', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用目的实例ID列表的排除匹配模式。取值:'."\n" + ."\n" + .'- **false**(默认值):否,即路由传递的目的实例ID在**DestinationInstanceIds.N**中时,匹配通过。'."\n" + ."\n" + .'- **true**:是,即路由传递的目的实例ID不在**DestinationInstanceIds.N**中时,匹配通过。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'MatchAddressType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由需匹配的IP地址类型。取值:'."\n" + ."\n" + .'- **IPv4**:表示只匹配IPv4路由。'."\n" + .'- **IPv6**:表示只匹配IPv6路由。'."\n" + ."\n" + .'本参数可以为空,表示匹配所有类型的路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'SourceInstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-afsfdf5435vcvc****', + ], + 'required' => false, + 'example' => 'vpc-afsfdf5435vcvc****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationInstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例ID为本地域下的实例ID时,目的实例ID列表才会生效。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的实例ID列表。支持输入以下类型的实例ID:'."\n" + ."\n" + .'- 专有网络VPC(Virtual Private Cloud)实例ID'."\n" + .'- 边界路由器VBR(Virtual Border Router)实例ID'."\n" + .'- 云连接网CCN(Cloud Connect Network)实例ID'."\n" + .'- 智能接入网关(Smart Access Gateway)实例ID'."\n" + .'- IPsec连接ID'."\n" + ."\n" + .'最多支持输入32个实例ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例ID为本地域下的实例ID时,目的实例ID列表才会生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-avcdsg34ds****', + ], + 'required' => false, + 'example' => 'vpc-avcdsg34ds****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'SourceRouteTableIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源路由表ID列表。最多支持输入32个路由表ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源路由表ID列表。最多支持输入32个路由表ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-acdbvtbr342cd****', + ], + 'required' => false, + 'example' => 'vtb-acdbvtbr342cd****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationRouteTableIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的路由表ID列表。最多支持输入32个路由表ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的路由表ID为本地域下网络实例的路由表ID时,目的路由表ID列表才会生效。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的路由表ID列表。最多支持输入32个路由表ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的路由表ID为本地域下网络实例的路由表ID时,目的路由表ID列表才会生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-adfg53c322v****', + ], + 'required' => false, + 'example' => 'vtb-adfg53c322v****', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'SourceRegionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源地域ID列表。最多支持输入32个地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源地域ID列表。最多支持输入32个地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + 'required' => false, + 'example' => 'cn-beijing', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'SourceChildInstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的源实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:VPN网关实例或IPsec连接。'."\n" + .' '."\n" + .' - 如果IPsec连接或SSL服务端绑定了VPN网关实例,则VPN网关实例关联的VPC必须连接至转发路由器实例,且VPN网关实例必须运行BGP动态路由协议,本参数才能生效。'."\n" + .' - 如果IPsec连接直接绑定了转发路由器实例,则本参数生效。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:VPN网关实例或IPsec连接。'."\n" + .' '."\n" + .' - 如果IPsec连接或SSL服务端绑定了VPN网关实例,则VPN网关实例关联的VPC必须连接至转发路由器实例,且VPN网关实例必须运行BGP动态路由协议,本参数才能生效。'."\n" + .' - 如果IPsec连接直接绑定了转发路由器实例,则本参数生效。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + 'required' => false, + 'example' => 'VPC', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationChildInstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .' > 如果IPsec连接或者SSL服务端绑定了VPN网关实例,并通过VPN网关实例关联的VPC连接至了转发路由器实例,则本参数不生效。本参数仅当IPsec连接直接绑定转发路由器实例时才生效。'."\n" + ."\n" + .'仅路由策略的应用方向为出地域网关方向,且目的实例类型为本地域下的实例类型时,目的实例类型列表才会生效。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的实例类型列表。支持以下实例类型:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .' > 如果IPsec连接或者SSL服务端绑定了VPN网关实例,并通过VPN网关实例关联的VPC连接至了转发路由器实例,则本参数不生效。本参数仅当IPsec连接直接绑定转发路由器实例时才生效。'."\n" + ."\n" + .'仅路由策略的应用方向为出地域网关方向,且目的实例类型为本地域下的实例类型时,目的实例类型列表才会生效。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + 'required' => false, + 'example' => 'VPC', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationCidrBlocks', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的前缀列表。'."\n" + ."\n" + .'前缀列表中的IP地址段使用CIDR格式,最多支持输入32个IP地址段。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的前缀列表。'."\n" + ."\n" + .'前缀列表中的IP地址段使用CIDR格式,最多支持输入32个IP地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.10.10.0/24', + ], + 'required' => false, + 'example' => '10.10.10.0/24', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'RouteTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的路由类型列表。支持以下路由类型:'."\n" + ."\n" + .'- **System**:系统路由,由系统自动生成的路由。'."\n" + ."\n" + .'- **Custom**:自定义路由,由用户手动添加的路由。'."\n" + ."\n" + .'- **BGP**:BGP路由,通过BGP路由协议传播的路由。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的路由类型列表。支持以下路由类型:'."\n" + ."\n" + .'- **System**:系统路由,由系统自动生成的路由。'."\n" + ."\n" + .'- **Custom**:自定义路由,由用户手动添加的路由。'."\n" + ."\n" + .'- **BGP**:BGP路由,通过BGP路由协议传播的路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'System', + ], + 'required' => false, + 'example' => 'System', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'MatchAsns', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的AS Path列表。'."\n" + ."\n" + .'> 仅支持AS SEQUENCE,不支持AS SET、AS CONFED SEQUENCE和AS CONFED SET,即只能是AS号列表,不支持集合和子列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的AS Path列表。'."\n" + ."\n" + .'> 仅支持AS SEQUENCE,不支持AS SET、AS CONFED SEQUENCE和AS CONFED SET,即只能是AS号列表,不支持集合和子列表。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '65501', + ], + 'required' => false, + 'example' => '65501', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'MatchCommunitySet', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Community(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Community(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。', + 'type' => 'string', + 'required' => false, + 'example' => '65501:1', + ], + 'required' => false, + 'example' => '65501:1', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'OperateCommunitySet', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要执行的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Communities(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '要执行的Community集合。'."\n" + ."\n" + .'每个Community格式为n:m,n、m的取值范围为**1**~**65535**。Community需要符合RFC 1997,不支持Large Communities(RFC 8092)。'."\n" + ."\n" + .'最多支持输入32个Community。'."\n" + ."\n" + .'> Community配置错误可能会导致路由不能发布到本地数据中心。', + 'type' => 'string', + 'required' => false, + 'example' => '65501:1', + ], + 'required' => false, + 'example' => '65501:1', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'PrependAsPath', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '地域网关接收或发布路由时附加的AS Path。'."\n" + ."\n" + .'路由策略应用方向不同,配置附加AS Path的要求也不同,具体如下:'."\n" + ."\n" + .'- 入地域网关方向配置附加AS Path时,匹配条件中必须配置源实例ID列表和源地域,且源地域必须与路由策略应用的地域一致。'."\n" + ."\n" + .'- 出地域网关方向配置附加AS Path时,匹配条件中必须配置目的实例ID列表。'."\n" + ."\n\n" + .'本参数表示路由通过匹配条件后,要执行的操作。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '地域网关接收或发布路由时附加的AS Path。'."\n" + ."\n" + .'路由策略应用方向不同,配置附加AS Path的要求也不同,具体如下:'."\n" + ."\n" + .'- 入地域网关方向配置附加AS Path时,匹配条件中必须配置源实例ID列表和源地域,且源地域必须与路由策略应用的地域一致。'."\n" + ."\n" + .'- 出地域网关方向配置附加AS Path时,匹配条件中必须配置目的实例ID列表。'."\n" + ."\n\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65501', + ], + 'required' => false, + 'example' => '65501', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DestinationRegionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由需匹配的目的地域ID列表。最多支持输入32个地域ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的地域ID列表。最多支持输入32个地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + 'required' => false, + 'maxItems' => 32, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457 ', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改路由策略', + 'description' => '`ModifyCenRouteMap`接口属于异步接口,即系统会先返回一个**RequestId**,但该路由策略并未修改完成,系统后台的修改任务仍在进行。您可以调用`DescribeCenRouteMaps`接口查询路由策略的状态。'."\n" + ."\n" + .'- 当路由策略处于**Modifying**状态时,表示路由策略正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .'- 当路由策略处于**Active**状态时,表示路由策略修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenRouteMaps' => [ + 'summary' => '调用DescribeCenRouteMaps接口查询路由策略中已配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72356', + 'abilityTreeNodes' => [ + 'FEATUREcbnL0VP69', + 'FEATUREcbnCEHNQQ', + 'FEATUREcbnK70KRY', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-wx12mmlt17ld82****', + ], + ], + [ + 'name' => 'RouteMapId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cenrmap-y40mxdvf7joc12****', + ], + ], + [ + 'name' => 'CenRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略应用的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransmitDirection', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略的应用方向。取值:'."\n" + ."\n" + .'- **RegionIn**:入地域网关方向,表示路由传入云企业网地域网关的方向。'."\n" + ."\n" + .' 例如:路由从本地域的网络实例发布到本地域网关,或其他地域的路由发布到本地域网关。'."\n" + ."\n" + .'- **RegionOut**:出地域网关方向,表示路由传出云企业网地域网关的方向。'."\n" + ."\n" + .' 例如:路由从本地域网关发布到本地域下的网络实例,或发布到其他地域的地域网关。', + 'type' => 'string', + 'required' => false, + 'example' => 'RegionOut', + ], + ], + [ + 'name' => 'TransitRouterRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由策略关联的转发路由器路由表ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-gw8nx3515m1mbd1z1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '24CE1987-D1D1-5324-9BAD-2750B60E6ABB', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RouteMaps' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteMap' => [ + 'description' => '路由策略信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由策略的信息。', + 'type' => 'object', + 'properties' => [ + 'RouteMapId' => [ + 'description' => '路由策略ID。', + 'type' => 'string', + 'example' => 'cenrmap-y40mxdvf7joc12****', + ], + 'Status' => [ + 'description' => '路由策略的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'TransmitDirection' => [ + 'description' => '路由策略的应用方向。'."\n", + 'type' => 'string', + 'example' => 'RegionOut', + ], + 'SourceInstanceIdsReverseMatch' => [ + 'description' => '是否使用了源实例ID列表的排除匹配模式。'."\n" + ."\n" + .'- **false**:否,即路由传递的源实例ID在**SourceInstanceIds.N**中时,匹配通过。'."\n" + ."\n" + .'- **true**:是,即路由传递的源实例ID不在**SourceInstanceIds.N**中时,匹配通过。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'CenRegionId' => [ + 'description' => '路由策略应用的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-wx12mmlt17ld82****', + ], + 'Priority' => [ + 'description' => '路由策略的优先级。优先级数字越小,代表优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5000', + ], + 'TransitRouterRouteTableId' => [ + 'description' => '路由策略关联的转发路由器路由表ID。', + 'type' => 'string', + 'example' => 'vtb-gw8nx3515m1mbd1z1****', + ], + 'CommunityOperateMode' => [ + 'description' => 'Community的执行模式。'."\n" + ."\n" + .'- **Additive**:添加,表示为路由添加Community。'."\n" + ."\n" + .'- **Replace**:替换,表示替换路由原有的Community。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'string', + 'example' => 'Additive', + ], + 'MapResult' => [ + 'description' => '所有匹配条件都通过后的策略行为。'."\n" + ."\n" + .'- **Permit**:允许被匹配的路由通过。'."\n" + ."\n" + .'- **Deny**:拒绝被匹配的路由通过。', + 'type' => 'string', + 'example' => 'Deny', + ], + 'CommunityMatchMode' => [ + 'description' => 'Community的匹配模式。'."\n" + ."\n" + .'- **Include**:模糊匹配,匹配条件中的Community与被匹配路由的Community有重叠即判定为匹配成功。 '."\n" + ."\n" + .'- **Complete**:精确匹配,匹配条件中的Community必须与被匹配路由的Community一致,才判定为匹配成功。', + 'type' => 'string', + 'example' => 'Include', + ], + 'Description' => [ + 'description' => '路由策略的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'AsPathMatchMode' => [ + 'description' => 'AS Path列表的匹配模式。'."\n" + ."\n" + .'- **Include**:模糊匹配,匹配条件中的AS Path与被匹配路由的AS Path有重叠即判定为匹配成功。 '."\n" + ."\n" + .'- **Complete**:精确匹配,匹配条件中的AS Path必须与被匹配路由的AS Path一致,才判定为匹配成功。 ', + 'type' => 'string', + 'example' => 'Include', + ], + 'Preference' => [ + 'description' => '要修改的路由的优先级。'."\n" + ."\n" + .'优先级数字越小表示优先级越高。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'DestinationInstanceIdsReverseMatch' => [ + 'description' => '是否使用了目的实例ID列表的排除匹配模式。'."\n" + ."\n" + .'- **false**:否,即路由传递的目的实例ID在**DestinationInstanceIds.N**中时,匹配通过。'."\n" + ."\n" + .'- **true**:是,即路由传递的目的实例ID不在**DestinationInstanceIds.N**中时,匹配通过。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'CidrMatchMode' => [ + 'description' => '前缀列表的匹配模式。取值:'."\n" + ."\n" + .'- **Include**:模糊匹配。匹配条件中的路由前缀包含被匹配路由的路由前缀即判定为匹配成功。'."\n" + ."\n" + .' 例如:定义10.10.0.0/16的策略可以模糊匹配到10.10.1.0/24的路由。'."\n" + ."\n" + .'- **Complete**:精确匹配。匹配条件中的路由前缀必须与被匹配路由的路由前缀一致,才判定为匹配成功。 '."\n" + ."\n" + .' 例如:定义10.10.0.0/16的策略仅可以精确匹配到10.10.0.0/16的路由。', + 'type' => 'string', + 'example' => 'Include', + ], + 'NextPriority' => [ + 'description' => '关联的下一条路由策略的优先级。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '33', + ], + 'MatchAddressType' => [ + 'description' => '路由需匹配的IP地址类型。'."\n" + ."\n" + .'- **IPv4**:表示只匹配IPv4路由。'."\n" + .'- **IPv6**:表示只匹配IPv6路由。'."\n" + .'- 如果系统未返回该值,则表示同时匹配IPv4和IPv6的路由。'."\n", + 'type' => 'string', + 'example' => 'IPv4', + ], + 'SourceRegionIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SourceRegionId' => [ + 'description' => '路由需匹配的源地域ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源地域ID列表。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + 'SourceChildInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SourceChildInstanceType' => [ + 'description' => '路由需匹配的源实例类型列表。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源实例类型列表。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。', + 'type' => 'string', + 'example' => 'VPC', + ], + ], + ], + ], + 'DestinationRouteTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DestinationRouteTableId' => [ + 'description' => '路由需匹配的目的路由表ID列表。最多支持输入32个路由表ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的路由表ID为本地域下网络实例的路由表ID时,目的路由表ID列表才会生效。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的路由表ID列表。最多支持输入32个路由表ID。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的路由表ID为本地域下网络实例的路由表ID时,目的路由表ID列表才会生效。'."\n", + 'type' => 'string', + 'example' => 'vtb-adefrgtr144vf****', + ], + ], + ], + ], + 'SourceInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SourceInstanceId' => [ + 'description' => '路由需匹配的源实例ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源实例ID列表。', + 'type' => 'string', + 'example' => 'vpc-adeg3544fdf34vf****', + ], + ], + ], + ], + 'DestinationCidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DestinationCidrBlock' => [ + 'description' => '路由需匹配的前缀列表。'."\n" + ."\n" + .'支持IPv4、IPv6格式。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的前缀列表。'."\n" + ."\n" + .'支持IPv4、IPv6格式。', + 'type' => 'string', + 'example' => '10.10.10.0/24', + ], + ], + ], + ], + 'DestinationRegionIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DestinationRegionId' => [ + 'description' => '路由策略的目标地域ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由策略的目标地域ID列表。', + 'type' => 'string', + 'example' => 'cn-beijing', + ], + ], + ], + ], + 'SourceRouteTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SourceRouteTableId' => [ + 'description' => '路由需匹配的源路由表ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的源路由表ID列表。', + 'type' => 'string', + 'example' => 'vtb-adfr233vf34rvd4****', + ], + ], + ], + ], + 'MatchCommunitySet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MatchCommunity' => [ + 'description' => '路由需匹配的Community集合。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的Community集合。', + 'type' => 'string', + 'example' => '65501:1', + ], + ], + ], + ], + 'PrependAsPath' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AsPath' => [ + 'description' => '地域网关接收或发布路由时附加的AS Path。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'array', + 'items' => [ + 'description' => '地域网关接收或发布路由时附加的AS Path。'."\n" + ."\n" + .'本参数表示路由通过匹配条件后,要执行的操作。', + 'type' => 'string', + 'example' => '65501', + ], + ], + ], + ], + 'RouteTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteType' => [ + 'description' => '路由需匹配的路由类型列表。'."\n" + ."\n" + .'- **System**:系统路由,由系统自动生成的路由。'."\n" + ."\n" + .'- **Custom**:自定义路由,由用户手动添加的路由。'."\n" + ."\n" + .'- **BGP**:BGP路由,通过BGP路由协议传播的路由。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的路由类型列表。'."\n" + ."\n" + .'- **System**:系统路由,由系统自动生成的路由。'."\n" + ."\n" + .'- **Custom**:自定义路由,由用户手动添加的路由。'."\n" + ."\n" + .'- **BGP**:BGP路由,通过BGP路由协议传播的路由。', + 'type' => 'string', + 'example' => 'System', + ], + ], + ], + ], + 'DestinationChildInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DestinationChildInstanceType' => [ + 'description' => '路由需匹配的目的实例类型列表。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例类型为本地域下的实例类型时,目的实例类型列表才会生效。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的实例类型列表。'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + ."\n" + .'- **VBR**:边界路由器实例。'."\n" + ."\n" + .'- **CCN**:云连接网实例。'."\n" + ."\n" + .'- **VPN**:IPsec连接。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例类型为本地域下的实例类型时,目的实例类型列表才会生效。', + 'type' => 'string', + 'example' => 'VPC', + ], + ], + ], + ], + 'DestinationInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DestinationInstanceId' => [ + 'description' => '路由需匹配的目的实例ID列表。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例ID为本地域下的实例ID时,目的实例ID列表才会生效。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的目的实例ID列表。'."\n" + ."\n" + .'>仅路由策略的应用方向为出地域网关方向,且目的实例ID为本地域下的实例ID时,目的实例ID列表才会生效。'."\n", + 'type' => 'string', + 'example' => 'vpc-afrfs434465fdf****', + ], + ], + ], + ], + 'MatchAsns' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MatchAsn' => [ + 'description' => '路由需匹配的AS Path列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由需匹配的AS Path列表。', + 'type' => 'string', + 'example' => '65501', + ], + ], + ], + ], + 'OperateCommunitySet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OperateCommunity' => [ + 'description' => '要执行的Community集合。', + 'type' => 'array', + 'items' => [ + 'description' => '要执行的Community集合。', + 'type' => 'string', + 'example' => '65501:1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '查询路由策略', + 'description' => "\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTransitRouteTableAggregation' => [ + 'summary' => '创建聚合路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '154219', + 'abilityTreeNodes' => [ + 'FEATUREcbnT33W0H', + 'FEATUREcbn476RI8', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-iq8qgruq1ry8jc7vt****', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationName', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的目标网段。'."\n" + ."\n" + .'> 不支持添加以下网段:'."\n" + .'- 以“0”或者“100.64”开头的网段'."\n" + .'- 组播地址(224.0.0.1~239.255.255.254)', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationScope', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的传播范围。'."\n" + ."\n" + .'仅取值:**VPC**,表示向已与当前企业版转发路由器路由表创建关联转发关系并已开启路由同步功能的所有VPC实例传播聚合路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationScopeList', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '聚合路由的传播范围列表。'."\n" + .'>聚合路由传播范围和聚合路由传播范围列表必须至少选择一个属性,建议使用聚合路由传播范围列表;聚合路由传播范围列表中元素不能与聚合路由传播范围的值重复。', + 'type' => 'array', + 'items' => [ + 'description' => '聚合路由的传播范围列表。'."\n" + .'取值:'."\n" + ."\n" + .'- **VPC**,表示向已与当前企业版转发路由器路由表创建关联转发关系并已开启路由同步功能的所有VPC实例传播聚合路由。'."\n" + .'- **VBR**,表示向已加载到当前企业版转发路由器的VBR实例传播聚合路由。'."\n" + .'- **Peer**,表示向已与当前企业版转发路由器建立了跨地域连接的转发路由器传播聚合路由。'."\n" + .'- **VPN**,表示向已加载到当前企业版转发路由器的VPN实例传播聚合路由。'."\n" + .'- **ECR**,表示向已加载到当前企业版转发路由器的ECR实例传播聚合路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'TransitRouteTableAggregationDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次创建请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接创建聚合路由。'."\n" + .'- **true**:发送检查请求,只进行校验,不会创建聚合路由。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '创建聚合路由', + 'description' => '您在企业版转发路由器路由表下添加聚合路由后,企业版转发路由器仅会向已关联至当前企业版转发路由器路由表,且已开启路由同步功能的VPC实例的路由表中传播聚合路由。'."\n" + ."\n" + .'因此在创建聚合路由前,请确保完成以下操作,否则在您添加聚合路由后,企业版转发路由器不会向VPC实例路由表内传播聚合路由:'."\n" + .'- VPC实例已经与企业版转发路由器路由表创建了关联转发关系。具体操作,请参见[AssociateTransitRouterAttachmentWithRouteTable](~~261242~~)。'."\n" + .'- VPC实例已经开启路由同步功能。具体操作,请参见[CreateTransitRouterVpcAttachment](~~261358~~)。', + ], + 'ModifyTransitRouteTableAggregation' => [ + 'summary' => '编辑聚合路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '258484', + 'abilityTreeNodes' => [ + 'FEATUREcbnT33W0H', + 'FEATUREcbn476RI8', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationName', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationScope', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的传播范围。'."\n" + ."\n" + .'仅取值:**VPC**,表示向已与当前企业版转发路由器路由表创建关联转发关系并已开启路由同步功能的所有VPC实例传播聚合路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationScopeList', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '聚合路由的传播范围列表。'."\n" + .'>聚合路由传播范围和聚合路由传播范围列表必须至少选择一个属性,建议使用聚合路由传播范围列表;聚合路由传播范围列表中元素不能与聚合路由传播范围的值重复。', + 'type' => 'array', + 'items' => [ + 'description' => '聚合路由的传播范围列表。'."\n" + .'取值:'."\n" + ."\n" + .'- **VPC**,表示向已与当前企业版转发路由器路由表创建关联转发关系并已开启路由同步功能的所有VPC实例传播聚合路由。'."\n" + .'- **VBR**,表示向已加载到当前企业版转发路由器的VBR实例传播聚合路由。'."\n" + .'- **Peer**,表示向已与当前企业版转发路由器建立了跨地域连接的转发路由器传播聚合路由。'."\n" + .'- **VPN**,表示向已加载到当前企业版转发路由器的VPN实例传播聚合路由。'."\n" + .'- **ECR**,表示向已加载到当前企业版转发路由器的ECR实例传播聚合路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'VBR', + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'TransitRouteTableAggregationDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为0~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次创建请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改聚合路由。'."\n" + .'- **true**:发送检查请求,只进行校验,不会修改聚合路由。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse', + 'description' => 'PlainResponse', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]', + 'title' => '编辑聚合路由', + ], + 'DeleteTransitRouteTableAggregation' => [ + 'summary' => '删除聚合路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '154263', + 'abilityTreeNodes' => [ + 'FEATUREcbnYACM08', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次删除请求执行预检,包括权限、实例状态校验等。取值:'."\n" + ."\n" + .'- **false**(默认):发送正常请求,通过检查后直接删除聚合路由。'."\n" + .'- **true**:发送检查请求,只进行校验,不会删除聚合路由。检查项包括是否填写了必需参数、请求格式等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除聚合路由', + 'description' => '- 删除聚合路由前,请确保当前网络下存在冗余路由,否则可能会导致业务中断。'."\n" + .'- 删除聚合路由后,系统会自动撤销已向专有网络VPC(Virtual Private Cloud)实例传播的聚合路由,重新向VPC实例传播位于聚合路由目标网段范围内下的明细路由。', + ], + 'RefreshTransitRouteTableAggregation' => [ + 'summary' => '重新发布聚合路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TransitRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-iq8qgruq1ry8jc7vt****', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.53.0/24', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => 'PlainResponse', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '重新发布聚合路由', + 'description' => '对于下发失败或部分失败的聚合路由,在您处理完路由问题后,您可以调用**RefreshTransitRouteTableAggregation**接口重新向专有网络VPC(Virtual Private Cloud)实例传播聚合路由。'."\n" + .'如果您通过以下方式解决了有问题的路由,则系统会自动重新发布聚合路由,无需您再手动发布:'."\n" + .'- 删除关联转发关系'."\n" + .'- 关闭路由同步功能'."\n" + .'- 删除VPC路由表'."\n" + .'- 删除聚合路由'."\n" + ."\n" + .'您可以调用**DescribeTransitRouteTableAggregationDetail**接口查看聚合路由的传播状态。', + ], + 'DescribeTransitRouteTableAggregationDetail' => [ + 'summary' => '查询指定聚合路由的配置详情。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '154265', + 'abilityTreeNodes' => [ + 'FEATUREcbnIIZZGE', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'ListTokenResult<CbnTrRouteTableAggregationDetailModel>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Data' => [ + 'description' => '聚合路由的配置详情。', + 'type' => 'array', + 'items' => [ + 'description' => '聚合路由的配置详情。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '被配置聚合路由的VPC实例ID。', + 'type' => 'string', + 'example' => 'vpc-6eh7fp9hdqa2wv85t****', + ], + 'Description' => [ + 'description' => '聚合路由配置失败后的返回信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'Status' => [ + 'description' => '聚合路由的配置状态。'."\n" + ."\n" + .'- **Configured**:聚合路由已下发至VPC实例。'."\n" + .'- **Configuring**:聚合路由下发中。'."\n" + .'- **ConfigFailed**:聚合路由下发失败。'."\n" + .'- **PartialConfigured**:聚合路由部分下发失败。'."\n" + .'- **Deleting**:聚合路由删除中。', + 'type' => 'string', + 'example' => 'Configured', + ], + ], + ], + ], + 'Count' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Total' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询指定聚合路由的配置详情', + ], + 'DescribeTransitRouteTableAggregation' => [ + 'summary' => '查询企业版转发路由器路由表下的聚合路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '154264', + 'abilityTreeNodes' => [ + 'FEATUREcbnT33W0H', + 'FEATUREcbn476RI8', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + ], + [ + 'name' => 'TransitRouteTableAggregationCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '聚合路由的目标网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'minimum' => '0', + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'ListTokenResult<CbnTrRouteTableAggregationModel>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Data' => [ + 'description' => '聚合路由信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '聚合路由信息。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '聚合路由的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'TransitRouteTableAggregationCidr' => [ + 'description' => '聚合路由的目标网段。', + 'type' => 'string', + 'example' => '192.168.10.0/24', + ], + 'Scope' => [ + 'description' => '聚合路由的传播范围。'."\n" + ."\n" + .'仅取值:**VPC**,表示向已与当前企业版转发路由器路由表创建关联转发关系并已开启路由同步功能的所有VPC实例传播聚合路由。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'RouteType' => [ + 'description' => '聚合路由的路由类型。'."\n" + ."\n" + .'仅取值:**Static**,表示静态路由。聚合路由被传播至VPC实例后,默认为自定义路由条目。', + 'type' => 'string', + 'example' => 'Static', + 'default' => 'Static', + ], + 'Description' => [ + 'description' => '聚合路由的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'TrRouteTableId' => [ + 'description' => '企业版转发路由器路由表ID。', + 'type' => 'string', + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + 'Status' => [ + 'description' => '聚合路由的传播状态。'."\n" + ."\n" + .'- **AllConfigured**:聚合路由已下发至全部VPC实例。'."\n" + .'- **Configuring**:聚合路由下发中。'."\n" + .'- **ConfigFailed**:聚合路由下发失败。'."\n" + .'- **PartialConfigured**:部分VPC没有被成功下发聚合路由。'."\n" + .'- **Deleting**:聚合路由删除中。', + 'type' => 'string', + 'example' => 'AllConfigured', + ], + 'ScopeList' => [ + 'description' => '聚合路由的传播范围列表。'."\n" + .'>聚合路由传播范围和聚合路由传播范围列表必须至少选择一个属性,建议使用聚合路由传播范围列表;聚合路由传播范围列表中元素不能与聚合路由传播范围的值重复。', + 'type' => 'array', + 'items' => [ + 'description' => '聚合路由的传播范围列表。'."\n" + .'取值:'."\n" + ."\n" + .'- **VPC**,表示向已与当前企业版转发路由器路由表创建关联转发关系并已开启路由同步功能的所有VPC实例传播聚合路由。'."\n" + .'- **VBR**,表示向已加载到当前企业版转发路由器的VBR实例传播聚合路由。'."\n" + .'- **Peer**,表示向已与当前企业版转发路由器建立了跨地域连接的转发路由器传播聚合路由。'."\n" + .'- **VPN**,表示向已加载到当前企业版转发路由器的VPN实例传播聚合路由。'."\n" + .'- **ECR**,表示向已加载到当前企业版转发路由器的ECR实例传播聚合路由。', + 'type' => 'string', + 'example' => 'VPC', + ], + ], + ], + ], + ], + 'Count' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'Total' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询企业版转发路由器路由表下的聚合路由', + 'description' => '您可以通过指定**TransitRouteTableId**参数和**TransitRouteTableAggregationCidr**参数的值,查询指定聚合路由的信息。如果您仅指定了**TransitRouteTableId**参数的值,则系统默认查询该企业版转发路由器路由表下所有聚合路由的信息。', + ], + 'CreateTransitRouterPrefixListAssociation' => [ + 'summary' => '为企业版转发路由器路由表绑定前缀列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-6ehx7q2jze8ch5ji0****', + ], + ], + [ + 'name' => 'NextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **BlackHole**:表示指定前缀列表下的网段均为黑洞路由,所有去往前缀列表下网段的流量均会被丢弃。'."\n" + .'- **VPC**:表示指定前缀列表下网段的下一跳为专有网络VPC(Virtual Private Cloud)连接。'."\n" + .'- **VBR**:表示指定前缀列表下网段的下一跳为边界路由器VBR(Virtual Border Router)连接。'."\n" + .'- **TR**:表示指定前缀列表下网段的下一跳为跨地域连接。'."\n" + .'- **ECR**:表示指定前缀列表下网段的下一跳为专线网关ECR(Express Connect Router)实例。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pl-6ehtn5kqxgeyy08fi****', + ], + ], + [ + 'name' => 'TransitRouterTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳连接ID。'."\n" + ."\n" + .'如果要使前缀列表下的网段均为黑洞路由,本参数需输入**BlackHole**。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-attach-flbq507rg2ckrj****', + ], + ], + [ + 'name' => 'OwnerUid', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'docRequired' => false, + 'example' => '1210123456123456', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建绑定关系。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建绑定关系。'."\n" + ."\n" + .'> 本参数当前不生效。', + 'type' => 'boolean', + 'required' => false, + 'docRequired' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '为企业版转发路由器路由表绑定前缀列表', + 'description' => '为企业版转发路由器路由表绑定前缀列表前,请确保满足以下条件:'."\n" + .'- 您已了解前缀列表的使用限制、路由兼容性说明等信息,请参见[前缀列表](~~445605~~)。'."\n" + .'- 您已经创建了前缀列表。具体操作,请参见[CreateVpcPrefixList](~~437367~~)。'."\n" + .'- 如果企业版转发路由器路由表需要绑定跨账号的前缀列表,请确保待绑定的前缀列表已被共享给企业版转发路由器路由表所属的阿里云账号(主账号)。关于如何共享前缀列表资源,请参见[资源共享概述](~~160622~~)和[API参考(资源共享)](~~193445~~)。', + ], + 'DeleteTransitRouterPrefixListAssociation' => [ + 'summary' => '解除企业版转发路由器路由表与前缀列表的绑定关系。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-6ehx7q2jze8ch5ji0****', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pl-6ehtn5kqxgeyy08fi****', + ], + ], + [ + 'name' => 'TransitRouterTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳连接ID。'."\n" + ."\n" + .'如果前缀列表下的网段为黑洞路由,本参数需输入**BlackHole**。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-flbq507rg2ckrj****', + ], + ], + [ + 'name' => 'NextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **BlackHole**:表示前缀列表下的网段均为黑洞路由,所有去往前缀列表下网段的流量均会被丢弃。'."\n" + .'- **VPC**:表示前缀列表下网段的下一跳为专有网络VPC(Virtual Private Cloud)连接。'."\n" + .'- **VBR**:表示前缀列表下网段的下一跳为边界路由器VBR(Virtual Border Router)连接。'."\n" + .'- **TR**:表示前缀列表下网段的下一跳为跨地域连接。'."\n" + .'- **ECR**:表示前缀列表下网段的下一跳为专线网关ECR(Express Connect Router)实例。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会解除绑定关系。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接解除绑定关系。'."\n" + ."\n\n" + .'> 当前参数暂不生效。', + 'type' => 'boolean', + 'required' => false, + 'docRequired' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '835E7F4B-B380-4E0F-96A5-6EA572388047', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'The specified RouteTableId is not found.', + ], + ], + ], + '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' => '解除企业版转发路由器路由表与前缀列表的绑定关系', + 'description' => '><warning>企业版转发路由器路由表与前缀列表解除绑定后,系统将自动撤销已添加在企业版转发路由器路由表中前缀列表相关的所有路由条目。因此解绑前,请确保企业版转发路由器路由表中存在冗余路由,否则会造成网络中断。></warning>', + ], + 'ListTransitRouterPrefixListAssociation' => [ + 'summary' => '查询企业版转发路由器路由表绑定的前缀列表的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-6ehx7q2jze8ch5ji0****', + ], + ], + [ + 'name' => 'TransitRouterTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器路由表ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'pl-6ehtn5kqxgeyy08fi****', + ], + ], + [ + 'name' => 'OwnerUid', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'docRequired' => false, + 'example' => '1210123456123456', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '待查询的列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的条目数。最大值:**100**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳连接ID。'."\n" + ."\n" + .'> 如果您需要查询生成黑洞路由的前缀列表的信息,本参数需输入**BlackHole**。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-flbq507rg2ckrj****', + ], + ], + [ + 'name' => 'NextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **BlackHole**:表示查询生成黑洞路由的前缀列表的信息。'."\n" + .'- **VPC**:表示查询下一跳为专有网络VPC(Virtual Private Cloud)连接的前缀列表的信息。'."\n" + .'- **VBR**:表示查询下一跳为边界路由器VBR(Virtual Border Router)连接的前缀列表的信息。'."\n" + .'- **TR**:表示查询下一跳为跨地域连接的前缀列表的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'NextHopInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳连接关联的网络实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-6eh7fp9hdqa2wv85t****', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的状态。'."\n" + ."\n" + .'- **Active**:已生效。'."\n" + .'- **Updating**:更新中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6005CA94-676E-1FEE-985E-7602EFAADD6A', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的列表总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '查询的列表页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PrefixLists' => [ + 'description' => '前缀列表的信息。', + 'type' => 'array', + 'items' => [ + 'description' => '前缀列表的信息。', + 'type' => 'object', + 'properties' => [ + 'PrefixListId' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'example' => 'pl-6ehtn5kqxgeyy08fi****', + ], + 'OwnerUid' => [ + 'description' => '前缀列表所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'Status' => [ + 'description' => '前缀列表的状态。'."\n" + ."\n" + .'- **Active**:已生效。'."\n" + .'- **Updating**:更新中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'NextHop' => [ + 'description' => '下一跳连接ID。'."\n" + ."\n" + .'> 如果返回值为**BlackHole**,则表示前缀列表下的所有网段均为黑洞路由,所有去往前缀列表下网段的流量均会被丢弃。', + 'type' => 'string', + 'example' => 'tr-attach-flbq507rg2ckrj****', + ], + 'NextHopInstanceId' => [ + 'description' => '下一跳连接关联的网络实例ID。', + 'type' => 'string', + 'example' => 'vpc-6eh7fp9hdqa2wv85t****', + ], + 'NextHopType' => [ + 'description' => '下一跳类型。'."\n" + ."\n" + .'- **BlackHole**:表示前缀列表下的网段均为黑洞路由,所有去往前缀列表下网段的流量均会被丢弃。'."\n" + .'- **VPC**:表示前缀列表下网段的下一跳为专有网络VPC(Virtual Private Cloud)连接。'."\n" + .'- **VBR**:表示前缀列表下网段的下一跳为边界路由器VBR(Virtual Border Router)连接。'."\n" + .'- **TR**:表示前缀列表下网段的下一跳为跨地域连接。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'TransitRouterTableId' => [ + 'description' => '转发路由器路由表ID。', + 'type' => 'string', + 'example' => 'vtb-6ehgc262hr170qgyc****', + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-6ehx7q2jze8ch5ji0****', + ], + ], + ], + ], + ], + ], + ], + [], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Region', + 'errorMessage' => 'The specified Region is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询企业版转发路由器路由表绑定的前缀列表的信息', + ], + 'AddTraficMatchRuleToTrafficMarkingPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会为流量标记策略添加流分类规则。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接为流量标记策略添加流分类规则。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-u9nxup5kww5po8****', + ], + ], + [ + 'name' => 'TrafficMatchRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '流分类规则列表。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则的信息。', + 'type' => 'object', + 'properties' => [ + 'MatchDscp' => [ + 'description' => '流量报文的DSCP值。取值范围:**0**~**63**。'."\n" + ."\n" + .'流分类规则匹配包含指定DSCP值的流量,如果不设置则代表使流分类规则匹配任意DSCP值的流量。'."\n" + ."\n" + .'> 当前DSCP值是指流量报文进入跨地域连接前已携带的DSCP值。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'DstCidr' => [ + 'description' => '流量报文的目的网段。'."\n" + ."\n" + .'流分类匹配目的IP地址在目的网段中的流量,如果不设置则代表使流分类规则匹配任意目的IP地址的流量。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'string', + 'required' => false, + 'example' => '10.10.10.0/24', + ], + 'TrafficMatchRuleDescription' => [ + 'description' => '流分类规则的描述信息。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + 'Protocol' => [ + 'description' => '流量报文的协议类型。'."\n" + ."\n" + .'流分类规则支持匹配**HTTP**、**HTTPS**、**TCP**、**UDP**、**SSH**、**Telnet**等多种协议类型的流量。更多协议类型,请登录[云企业网管理控制台](https://cen.console.aliyun.com/cen/list)查看。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'DstPortRange' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入2个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。'."\n" + .'- 如果您输入了2个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了2个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'SrcCidr' => [ + 'description' => '流量报文的源网段。'."\n" + ."\n" + .'流分类规则匹配源IP地址在源网段中的流量,如果不设置则代表使流分类规则匹配任意源IP地址的流量。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/24', + ], + 'SrcPortRange' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '200', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'TrafficMatchRuleName' => [ + 'description' => '流分类分则的名称。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Cbn::2017-09-12::AddTrafficMatchRuleToTrafficMarkingPolicy', + ], + ], + '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' => '为流量标记策略添加流分类规则', + 'summary' => '为流量标记策略添加流分类规则。', + 'description' => '### 注意事项'."\n" + ."\n" + .'当前**AddTraficMatchRuleToTrafficMarkingPolicy**接口已废弃并即将下线。如果您需要为流量标记策略添加流分类规则,请使用[AddTrafficMatchRuleToTrafficMarkingPolicy](~~427602~~)接口。本接口文档已停止维护。', + ], + 'AddTrafficMatchRuleToTrafficMarkingPolicy' => [ + 'summary' => '调用AddTrafficMatchRuleToTrafficMarkingPolicy接口为流量标记策略添加流分类规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '136121', + 'abilityTreeNodes' => [ + 'FEATUREcbnWVMXRT', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会为流量标记策略添加流分类规则。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接为流量标记策略添加流分类规则。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-u9nxup5kww5po8****', + ], + ], + [ + 'name' => 'TrafficMatchRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '流分类规则列表。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则的信息。', + 'type' => 'object', + 'properties' => [ + 'MatchDscp' => [ + 'description' => '流量报文的DSCP值。取值范围:**0**~**63**。'."\n" + ."\n" + .'流分类规则匹配包含指定DSCP值的流量,如果不设置则代表使流分类规则匹配任意DSCP值的流量。'."\n" + ."\n" + .'> 当前DSCP值是指流量报文进入跨地域连接前已携带的DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'DstCidr' => [ + 'description' => '流量报文的目的网段。'."\n" + ."\n" + .'流分类匹配目的IP地址在目的网段中的流量,如果不设置则代表使流分类规则匹配任意目的IP地址的流量。', + 'type' => 'string', + 'required' => false, + 'example' => '10.10.10.0/24', + ], + 'TrafficMatchRuleDescription' => [ + 'description' => '流分类规则的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + 'Protocol' => [ + 'description' => '流量报文的协议类型。'."\n" + ."\n" + .'流分类规则支持匹配**HTTP**、**HTTPS**、**TCP**、**UDP**、**SSH**、**Telnet**等多种协议类型的流量。更多协议类型,请登录[云企业网管理控制台](https://cen.console.aliyun.com/cen/list)查看。'."\n" + ."\n" + .'<details>'."\n" + .'<summary>部分协议拥有固定的端口。单击查看端口详情。</summary>'."\n" + ."\n" + .'- 协议类型为**ICMP**时,目的端口号需指定为-**1**。'."\n" + .'- 协议类型为**GRE**时,目的端口号需指定为-**1**。'."\n" + .'- 协议类型为**SSH**时,目的端口号需指定为**22**。'."\n" + .'- 协议类型为**Telnet**时,目的端口号需指定为**23**。'."\n" + .'- 协议类型为**HTTP**时,目的端口号需指定为**80**。'."\n" + .'- 协议类型为**HTTPS**时,目的端口号需指定为**443**。'."\n" + .'- 协议类型为**MS SQL** 时,目的端口号需指定为**1443**。'."\n" + .'- 协议类型为**Oracle**时,目的端口号需指定为**1521**。'."\n" + .'- 协议类型为**Mysql**时,目的端口号需指定为**3306**。'."\n" + .'- 协议类型为**RDP**时,目的端口号需指定为**3389**。'."\n" + .'- 协议类型为**Postgre SQL**时,目的端口号需指定为**5432**。'."\n" + .'- 协议类型为**Redis**时,目的端口号需指定为**6379**。'."\n" + ."\n" + .'</details>', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'DstPortRange' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入2个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。如果为-1,则表示匹配任意目的端口。'."\n" + .'- 如果您输入了2个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了2个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'SrcCidr' => [ + 'description' => '流量报文的源网段。'."\n" + ."\n" + .'流分类规则匹配源IP地址在源网段中的流量,如果不设置则代表使流分类规则匹配任意源IP地址的流量。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/24', + ], + 'AddressFamily' => [ + 'description' => '地址类型,有效值为IPv4或者IPv6或者为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + 'SrcPortRange' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。如果为-1,则表示匹配任意源端口。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '200', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'TrafficMatchRuleName' => [ + 'description' => '流分类分则的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies', + 'callbackInterval' => 5000, + 'maxCallbackTimes' => 20, + ], + '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' => '为流量标记策略添加流分类规则', + 'description' => '**AddTrafficMatchRuleToTrafficMarkingPolicy**接口属于异步接口,即系统会先返回一个**RequestId**,但该流分类规则并未创建完成,系统后台的创建任务仍在进行。您可以调用**ListTrafficMarkingPolicies**接口查询流分类规则的状态。 '."\n" + ."\n" + .'- 当流分类规则处于**Creating**状态时,表示流分类规则正在创建中,在该状态下,您只能对流分类规则执行查询操作,不能执行其他操作。'."\n" + .'- 当流分类规则处于**Active**状态时,表示流分类规则创建完成。', + ], + 'ModifyTrafficMatchRuleToTrafficMarkingPolicy' => [ + 'summary' => '编辑流分类规则的名称和描述。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '247314', + 'abilityTreeNodes' => [ + 'FEATUREcbnWVMXRT', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会为流量标记策略添加流分类规则。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接为流量标记策略添加流分类规则。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-u9nxup5kww5po8****', + ], + ], + [ + 'name' => 'TrafficMatchRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => '流分类规则ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-rule-fa9kgq1e90rmhc****'."\n", + ], + ], + [ + 'name' => 'TrafficMatchRuleName', + 'in' => 'query', + 'schema' => [ + 'description' => '流分类规则的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TrafficMatchRuleDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流分类规则的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'descriptiontest', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '13526224-5780-4426-8ADF-BC8B08700F23', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"13526224-5780-4426-8ADF-BC8B08700F23\\"\\n}","type":"json"}]', + 'title' => '编辑流分类规则的名称和描述', + ], + 'CreateTrafficMarkingPolicy' => [ + 'summary' => '流量标记策略通过流分类规则捕获符合规则的流量,捕获后,您可以为流量添加DSCP(Differentiated Services Code Point)值作为标记。您可以通过调用CreateTrafficMarkingPolicy创建流量标记策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72304', + 'abilityTreeNodes' => [ + 'FEATUREcbnWVMXRT', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建流量标记策略。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建流量标记策略。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-8vbuqeo5h5pu3m01d****', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略的优先级。取值范围:**1**~**100**。'."\n" + ."\n" + .'一个转发路由器实例下,每个流量标记策略的优先级需保证唯一。数字越小,优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '5', + ], + ], + [ + 'name' => 'MarkingDscp', + 'in' => 'query', + 'schema' => [ + 'description' => '为符合流分类规则的流量报文添加DSCP(Differentiated Services Code Point)值。取值范围:**0**~**63**。'."\n" + ."\n" + .'一个转发路由器实例下,每个流量标记策略的DCSP值需保证唯一。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '5', + ], + ], + [ + 'name' => 'TrafficMatchRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '流量标记策略的流分类规则列表。'."\n" + ."\n" + .'符合流分类规则的流量报文将被添加流量策略的DSCP值。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则信息。', + 'type' => 'object', + 'properties' => [ + 'MatchDscp' => [ + 'description' => '流量报文的DSCP值。取值范围:**0**~**63**。'."\n" + ."\n" + .'流分类规则匹配包含指定DSCP值的流量,如果不设置则代表使流分类规则匹配任意DSCP值的流量。'."\n" + ."\n" + .'> 当前DSCP值是指流量报文进入跨地域连接前已携带的DSCP值。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定匹配一个DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '6', + ], + 'DstCidr' => [ + 'description' => '流量报文的目的网段,支持IPv4和IPv6地址。'."\n" + ."\n" + .'流分类匹配目的IP地址在目的网段中的流量,如果不设置则代表使流分类规则匹配任意目的IP地址的流量。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个目的网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.10.10.0/24', + ], + 'TrafficMatchRuleDescription' => [ + 'description' => '流分类规则的描述信息。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可添加一个描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + 'Protocol' => [ + 'description' => '流量报文的协议类型。'."\n" + ."\n" + .'流量标记策略支持匹配**HTTP**、**HTTPS**、**TCP**、**UDP**、**SSH**、**Telnet**等多种协议类型的流量。更多协议类型,请登录[云企业网管理控制台](https://cen.console.aliyun.com/cen/list)查看。'."\n" + .'<details>'."\n" + .'<summary>部分协议拥有固定的端口。单击查看端口详情。</summary>'."\n" + ."\n" + .'- 协议类型为**ICMP**时,目的端口号需指定为-**1**。'."\n" + .'- 协议类型为**GRE**时,目的端口号需指定为-**1**。'."\n" + .'- 协议类型为**SSH**时,目的端口号需指定为**22**。'."\n" + .'- 协议类型为**Telnet**时,目的端口号需指定为**23**。'."\n" + .'- 协议类型为**HTTP**时,目的端口号需指定为**80**。'."\n" + .'- 协议类型为**HTTPS**时,目的端口号需指定为**443**。'."\n" + .'- 协议类型为**MS SQL** 时,目的端口号需指定为**1443**。'."\n" + .'- 协议类型为**Oracle**时,目的端口号需指定为**1521**。'."\n" + .'- 协议类型为**Mysql**时,目的端口号需指定为**3306**。'."\n" + .'- 协议类型为**RDP**时,目的端口号需指定为**3389**。'."\n" + .'- 协议类型为**Postgre SQL**时,目的端口号需指定为**5432**。'."\n" + .'- 协议类型为**Redis**时,目的端口号需指定为**6379**。'."\n" + ."\n" + .'</details>'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定匹配一个协议类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'DstPortRange' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。如果为-1,则表示匹配任意目的端口。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个目的端口范围。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个目的端口范围。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'SrcCidr' => [ + 'description' => '流量报文的源网段,支持IPv6和IPv4地址。'."\n" + ."\n" + .'流分类规则匹配源IP地址在源网段中的流量,如果不设置则代表使流分类规则匹配任意源IP地址的流量。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定匹配一个源网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.0/24', + ], + 'SrcPortRange' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。如果为-1,则表示匹配任意源端口。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个源端口范围。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个源端口范围。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'TrafficMatchRuleName' => [ + 'description' => '流分类规则的名称。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可添加一个名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + 'AddressFamily' => [ + 'description' => '地址类型,有效值为IPv4或者IPv6或者为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TrafficMarkingPolicyId' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'example' => 'tm-u9nxup5kww5po8****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies', + 'callbackInterval' => 5000, + 'maxCallbackTimes' => 20, + ], + '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' => '创建流量标记策略', + 'description' => '- 仅企业版转发路由器支持创建流量标记策略。'."\n" + .'- **CreateTrafficMarkingPolicy**接口属于异步接口,即系统会先返回一个流量标记策略ID,但该流量标记策略并未创建完成,系统后台的创建任务仍在进行。您可以调用**ListTrafficMarkingPolicies**接口查询流量标记策略的状态。 '."\n" + ."\n" + .' - 当流量标记策略处于**Creating**状态时,表示流量标记策略正在创建中,在该状态下,您只能对流量标记策略执行查询操作,不能执行其他操作。'."\n" + .' - 当流量标记策略处于**Active**状态时,表示流量标记策略创建完成。', + ], + 'DeleteTrafficMarkingPolicy' => [ + 'summary' => '调用DeleteTrafficMarkingPolicy接口删除流量标记策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除流量标记策略。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除流量标记策略。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-u9nxup5kww5po8****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除流量标记策略,取值:'."\n" + .'- **false**(默认值):删除流量标记策略前校验是否存在流分类规则。如果存在流分类规则,则不允许删除流量标记策略,返回对应错误。'."\n" + .'- **true**:删除流量标记策略时,默认删除所有流分类规则。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5F1F3A57-A753-572B-8F71-4F964398C566', + ], + ], + ], + ], + ], + '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' => '删除流量标记策略', + 'description' => '- **DeleteTrafficMarkingPolicy**接口属于异步接口,即系统会先返回一个**RequestId**,但该流量标记策略并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTrafficMarkingPolicies**接口查询流量标记策略的状态。 '."\n" + ."\n" + .' - 当流量标记策略处于**Deleting**状态时,表示流量标记策略正在删除中,在该状态下,您只能对流量标记策略执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到指定的流量标记策略时,表示流量标记策略删除完成。'."\n" + .'- 删除流量标记策略前,请先删除流量标记策略下的流分类规则。具体操作,请参见[RemoveTrafficMatchRuleFromTrafficMarkingPolicy](~~468330~~)。', + ], + 'UpdateTrafficMarkingPolicyAttribute' => [ + 'summary' => '调用UpdateTrafficMarkingPolicyAttribute接口修改流量标记策略的名称,描述信息以及流分类规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72432', + 'abilityTreeNodes' => [ + 'FEATUREcbnWVMXRT', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改流量标记策略的名称,描述信息以及流分类规则。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改流量标记策略的名称,描述信息以及流分类规则', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-u9nxup5kww5po8****', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'AddTrafficMatchRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '增加的流分类规则列表。'."\n" + ."\n" + .'一次最多支持添加50个流分类规则。', + 'type' => 'array', + 'items' => [ + 'description' => '增加的流分类规则列表。', + 'type' => 'object', + 'properties' => [ + 'MatchDscp' => [ + 'description' => '流量报文的DSCP值。取值范围:**0**~**63**。'."\n" + ."\n" + .'流分类规则匹配包含指定DSCP值的流量,如果不设置则代表使流分类规则匹配任意DSCP值的流量。'."\n" + ."\n" + .'> 当前DSCP值是指流量报文进入跨地域连接前已携带的DSCP值。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定匹配一个DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'DstCidr' => [ + 'description' => '流量报文的目的网段,支持IPv4和IPv6地址。'."\n" + ."\n" + .'流分类匹配目的IP地址在目的网段中的流量,如果不设置则代表使流分类规则匹配任意目的IP地址的流量。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个目的网段。', + 'type' => 'string', + 'required' => false, + 'example' => '172.30.0.0/24', + ], + 'TrafficMatchRuleDescription' => [ + 'description' => '流分类规则的描述信息。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可添加一个描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test1', + ], + 'Protocol' => [ + 'description' => '流量报文的协议类型。'."\n" + ."\n" + .'流量标记策略支持匹配**HTTP**、**HTTPS**、**TCP**、**UDP**、**SSH**、**Telnet**等多种协议类型的流量。更多协议类型,请登录[云企业网管理控制台](https://cen.console.aliyun.com/cen/list)查看。'."\n" + .'<details>'."\n" + .'<summary>部分协议拥有固定的端口。单击查看端口详情。</summary>'."\n" + ."\n" + .'- 协议类型为**ICMP**时,目的端口号需指定为-**1**。'."\n" + .'- 协议类型为**GRE**时,目的端口号需指定为-**1**。'."\n" + .'- 协议类型为**SSH**时,目的端口号需指定为**22**。'."\n" + .'- 协议类型为**Telnet**时,目的端口号需指定为**23**。'."\n" + .'- 协议类型为**HTTP**时,目的端口号需指定为**80**。'."\n" + .'- 协议类型为**HTTPS**时,目的端口号需指定为**443**。'."\n" + .'- 协议类型为**MS SQL** 时,目的端口号需指定为**1443**。'."\n" + .'- 协议类型为**Oracle**时,目的端口号需指定为**1521**。'."\n" + .'- 协议类型为**Mysql**时,目的端口号需指定为**3306**。'."\n" + .'- 协议类型为**RDP**时,目的端口号需指定为**3389**。'."\n" + .'- 协议类型为**Postgre SQL**时,目的端口号需指定为**5432**。'."\n" + .'- 协议类型为**Redis**时,目的端口号需指定为**6379**。'."\n" + ."\n" + .'</details>'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定匹配一个协议类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'UDP', + ], + 'DstPortRange' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。如果为-1,则表示匹配任意目的端口。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个目的端口范围。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的目的端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配目的端口号在目的端口范围中的流量,如果不设置则代表使流分类规则匹配任意目的端口号的流量。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配目的端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配目的端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意目的端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个目的端口范围。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '77', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'SrcCidr' => [ + 'description' => '流量报文的源网段,支持IPv4和IPv6地址。'."\n" + ."\n" + .'流分类规则匹配源IP地址在源网段中的流量,如果不设置则代表使流分类规则匹配任意源IP地址的流量。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定匹配一个源网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.128.32.0/19', + ], + 'SrcPortRange' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。如果为-1,则表示匹配任意源端口。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个源端口范围。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的源端口。取值范围:**-1**、**1**~**65535**。'."\n" + ."\n" + .'流分类规则匹配源端口号在源端口范围中的流量,如果不设置则代表使流分类规则匹配任意源端口。'."\n" + ."\n" + .'当前参数最多支持输入两个端口号。输入格式说明如下:'."\n" + ."\n" + .'- 如果您只输入一个端口号,例如1,则系统默认匹配源端口为1的流量。'."\n" + .'- 如果您输入了两个端口号,例如1和200,则系统默认匹配源端口处于1至200范围内的流量。'."\n" + .'- 如果您输入了两个端口号且其中一个端口号为-1,则另一个端口也必须为-1,表示匹配任意源端口。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可指定一个源端口范围。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '22', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'TrafficMatchRuleName' => [ + 'description' => '流分类规则的名称。'."\n" + ."\n" + .'一次最多支持创建50个流分类规则,每个流分类规则可添加一个名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => '广州测试', + ], + 'AddressFamily' => [ + 'description' => '地址类型,有效值为IPv4或者IPv6或者为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'DeleteTrafficMatchRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '删除的流分类规则列表。'."\n" + .'>请您要尽可能添加完整的流分类规则信息比如源网段、目标网段、源端口、目标端口、DSCP值等,否则系统可能定位不到要删除的流分类规则,则不会删除目标流分类规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '删除的流分类规则列表。', + 'type' => 'object', + 'properties' => [ + 'MatchDscp' => [ + 'description' => '流量报文的DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + 'DstCidr' => [ + 'description' => '流量报文的目标网段,支持IPv4和IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.200.3/32', + ], + 'TrafficMatchRuleDescription' => [ + 'description' => '流分类规则的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => '杭州区连青岛区CAT', + ], + 'Protocol' => [ + 'description' => '流量报文的协议类型。'."\n" + ."\n" + .'您可以调用[ListTrafficMarkingPolicies](~~468322~~)接口查询要删除的流分类规则的详细信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'DstPortRange' => [ + 'description' => '流量报文的目的端口。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的目的端口。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '22', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'SrcCidr' => [ + 'description' => '流量报文的源网段,支持IPv4和IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '10.72.0.0/16', + ], + 'SrcPortRange' => [ + 'description' => '流量报文的源端口。', + 'type' => 'array', + 'items' => [ + 'description' => '流量报文的源端口。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '23', + ], + 'required' => false, + 'maxItems' => 2, + ], + 'TrafficMatchRuleName' => [ + 'description' => '流分类规则的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'AddressFamily' => [ + 'description' => '地址类型,有效值为IPv4或者IPv6或者为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv6', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改流量标记策略的名称,描述信息以及流分类规则', + ], + 'ListTrafficMarkingPolicies' => [ + 'summary' => '调用ListTrafficMarkingPolicies接口查询流量标记策略的状态、流量标记策略的优先级等详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72388', + 'abilityTreeNodes' => [ + 'FEATUREcbnWVMXRT', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'tr-bp1rmwxnk221e3fas****', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tm-iz5egnyitxiroq****', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '699989E4-64A0-5F78-8B93-CDB32D98971F', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TrafficMarkingPolicies' => [ + 'description' => '流量标记策略列表。', + 'type' => 'array', + 'items' => [ + 'description' => '流量标记策略的信息。', + 'type' => 'object', + 'properties' => [ + 'TrafficMarkingPolicyStatus' => [ + 'description' => '流量标记策略的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Creating', + ], + 'TrafficMarkingPolicyId' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'example' => 'tm-iz5egnyitxiroq****', + ], + 'MarkingDscp' => [ + 'description' => '流量标记策略的DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'TrafficMarkingPolicyName' => [ + 'description' => '流量标记策略的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'Priority' => [ + 'description' => '流量标记策略的优先级。'."\n" + ."\n" + .'数字越小,优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'TrafficMarkingPolicyDescription' => [ + 'description' => '流量标记策略的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'TrafficMatchRules' => [ + 'description' => '流分类规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则信息。', + 'type' => 'object', + 'properties' => [ + 'MatchDscp' => [ + 'description' => '流量报文的DSCP值。'."\n" + ."\n" + .'>如果**MatchDscp**返回值为-1则表示匹配任意的DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'DstCidr' => [ + 'description' => '流量报文的目的网段,支持IPv4和IPv6地址。', + 'type' => 'string', + 'example' => '192.168.120.0/24', + ], + 'TrafficMatchRuleDescription' => [ + 'description' => '流分类规则的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'Protocol' => [ + 'description' => '流量报文的协议类型。'."\n" + ."\n" + .'> 流量标记策略支持匹配多种协议类型,各个协议类型详情请自行查阅文档。', + 'type' => 'string', + 'example' => 'HTTP', + ], + 'TrafficMatchRuleId' => [ + 'description' => '流分类规则ID。', + 'type' => 'string', + 'example' => 'tm-rule-fa9kgq1e90rmhc****', + ], + 'SrcCidr' => [ + 'description' => '流量报文的源网段,支持IPv6和IPv4地址。', + 'type' => 'string', + 'example' => '192.168.10.0/24', + ], + 'TrafficMatchRuleName' => [ + 'description' => '流分类规则的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'TrafficMatchRuleStatus' => [ + 'description' => '流分类规则的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Creating', + ], + 'AddressFamily' => [ + 'description' => '地址类型,有效值为IPv4或者IPv6或者为空。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'DstPortRange' => [ + 'description' => '流分类规则待匹配的目的端口范围。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则待匹配的目的端口范围。'."\n" + ."\n" + .'接口会返回两个目的端口号:'."\n" + ."\n" + .'- 如果两个目的端口号相同,例如80和80,则表示流分类规则匹配目的端口号为80的流量。'."\n" + ."\n" + .' 如果两个目的端口号均为-1,则表示流分类规则匹配任意目的端口号的流量。'."\n" + .'- 如果两个目的端口号不相同,例如1和200,则表示流分类规则匹配目的端口号在1至200范围内的流量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80,80', + ], + ], + 'SrcPortRange' => [ + 'description' => '流分类规则待匹配的源端口范围。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则待匹配的源端口范围。'."\n" + ."\n" + .'接口会返回两个源端口号:'."\n" + ."\n" + .'- 如果两个源端口号相同,例如80和80,则表示流分类规则匹配源端口号为80的流量。'."\n" + ."\n" + .' 如果两个源端口号均为-1,则表示流分类规则匹配任意源端口号的流量。'."\n" + .'- 如果两个源端口号不相同,例如1和200,则表示流分类规则匹配源端口号在1至200范围内的流量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1,200', + ], + ], + ], + ], + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-ccni***', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询流量标记策略的信息', + 'description' => '在调用**ListTrafficMarkingPolicies**接口过程中:'."\n" + .'- **TransitRouterId** 和**TrafficMarkingPolicyId**参数需至少输入一个。'."\n" + .'- 如果您未输入流量标记策略ID(即未指定**TrafficMarkingPolicyId**参数的值),则接口会根据**TransitRouterId**、**TrafficMarkingPolicyName**和**TrafficMarkingPolicyDescription**参数的值仅返回流量标记策略的信息,并不会返回流量标记策略下流分类规则的信息(即响应中不包含**TrafficMatchRules**字段)。'."\n" + .'- 如果您输入了流量标记策略ID(即指定了**TrafficMarkingPolicyId**参数的值),则接口会为您返回该流量标记策略的信息以及该流量标记策略下流分类规则的信息(即响应中包含**TrafficMatchRules**字段)。'."\n" + .'如果**TrafficMatchRules**字段为空数组,则表示当前流量标记策略下并不存在流分类规则。', + ], + 'RemoveTraficMatchRuleFromTrafficMarkingPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除流量标记策略下的流分类规则。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除流量标记策略下的流分类规则。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-d33hdczo3qo8ta****', + ], + ], + [ + 'name' => 'TrafficMarkRuleIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '流分类规则ID。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则ID。'."\n" + ."\n" + .'一次最多支持删除20个流分类规则。'."\n" + ."\n" + .'您可以通过调用[ListTrafficMarkingPolicies](~~419013~~)接口查询流量标记策略下的流分类规则ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tm-rule-15jtgapsat62r9****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + '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' => '删除流量标记策略下的流分类规则', + 'summary' => '删除流量标记策略下的流分类规则。', + 'description' => '### 注意事项'."\n" + ."\n" + .'当前**RemoveTraficMatchRuleFromTrafficMarkingPolicy**接口已废弃并即将下线。如果您需要删除流量标记策略下的流分类规则,请使用[RemoveTrafficMatchRuleFromTrafficMarkingPolicy](~~452726~~)接口。本接口文档已停止维护。', + ], + 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy' => [ + 'summary' => '调用RemoveTrafficMatchRuleFromTrafficMarkingPolicy接口删除流量标记策略下的流分类规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除流量标记策略下的流分类规则。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除流量标记策略下的流分类规则。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMarkingPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量标记策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tm-d33hdczo3qo8ta****', + ], + ], + [ + 'name' => 'TrafficMarkRuleIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '流分类规则ID。', + 'type' => 'array', + 'items' => [ + 'description' => '流分类规则ID。'."\n" + ."\n" + .'一次最多支持删除20个流分类规则。'."\n" + ."\n" + .'您可以通过调用[ListTrafficMarkingPolicies](~~419013~~)接口查询流量标记策略下的流分类规则ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tm-rule-15jtgapsat62r9****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除流量标记策略下的流分类规则', + 'description' => '- 调用**RemoveTrafficMatchRuleFromTrafficMarkingPolicy**接口时:'."\n" + ."\n" + .' - 如果您输入了流分类规则ID(即指定了**TrafficMarkRuleIds**参数的值),则当前接口被调用后会帮您删除该流分类规则。'."\n" + .' - 如果您未输入流分类规则ID(即未指定**TrafficMarkRuleIds**参数的值),则当前接口被调用后不执行任何操作。'."\n" + ."\n" + .' 如果您需要删除指定的流分类规则,在调用接口前请确保您已输入指定流分类规则的ID。'."\n" + .'- **RemoveTrafficMatchRuleFromTrafficMarkingPolicy**接口属于异步接口,即系统会先返回一个**RequestId**,但该流分类规则并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListTrafficMarkingPolicies**接口查询流分类规则的状态。 '."\n" + .' - 当流分类规则处于**Deleting**状态时,表示流分类规则正在删除中,在该状态下,您只能对流分类规则执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到指定的流分类规则时,表示流分类规则删除完成。', + ], + 'CreateCenInterRegionTrafficQosQueue' => [ + 'summary' => '如果您需要对不同类型和优先级的网络流量进行细致管理,以确保关键业务流量的性能并遵守服务级别协议,您可以调用CreateCenInterRegionTrafficQosQueue接口创建流量调度策略下队列的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72301', + 'abilityTreeNodes' => [ + 'FEATUREcbnUX9TH2', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建队列。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建队列。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'QosQueueName', + 'in' => 'query', + 'schema' => [ + 'description' => '队列的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'QosQueueDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '队列的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'RemainBandwidthPercent', + 'in' => 'query', + 'schema' => [ + 'description' => '按带宽百分比模式分配时,队列可以使用的最大跨地域带宽。'."\n" + ."\n" + .'- 带宽值以百分比计算。例如您输入20,则表示队列最多可以使用20%的跨地域带宽。'."\n" + ."\n" + .'- 一个跨地域连接实例下所有队列的带宽占比之和不能超过100%。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '20', + 'pattern' => '^\\d+$', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '按带宽绝对值模式分配时,队列可以使用的最大跨地域带宽的值,单位Mbps。'."\n" + ."\n" + .'- 带宽值以绝对值计算。例如您输入20,则表示队列最多可以使用20Mbps的跨地域带宽。'."\n" + ."\n" + .'- 一个跨地域连接实例下所有队列的带宽之和不能超过跨地域带宽的值。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'TrafficQosPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'qos-qdvybn468kaoxx****', + ], + ], + [ + 'name' => 'Dscps', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '队列待匹配的DSCP值。'."\n" + ."\n" + .'一次最多支持输入20个DSCP值,DSCP值之间使用半角逗号(,)分隔。', + 'type' => 'array', + 'items' => [ + 'description' => '队列待匹配的DSCP值。'."\n" + ."\n" + .'一次最多支持输入20个DSCP值,DSCP值之间使用半角逗号(,)分隔。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'QosQueueId' => [ + 'description' => '队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-irqhi8k5fdyuu5****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '845F66F6-5C27-53A1-9428-B859086237B2', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '创建流量调度策略下队列的配置', + 'description' => '**CreateCenInterRegionTrafficQosQueue**接口属于异步接口,即系统会先返回一个队列ID,但该队列并未创建完成,系统后台的创建任务仍在进行。您可以通过调用**ListCenInterRegionTrafficQosPolicies**接口查询流量调度策略的状态来确定队列的创建状态(查询时,需要传入**TrafficQosPolicyId**参数):'."\n" + .' '."\n" + .'- 当流量调度策略处于**Modifying**状态时,表示队列正在创建中,在该状态下,您只能对流量调度策略和队列执行查询操作,不能执行其他操作。'."\n" + .'- 当流量调度策略处于**Active**状态时,表示队列创建完成。', + ], + 'CreateCenInterRegionTrafficQosPolicy' => [ + 'summary' => '如果您需要优化和控制跨区域的网络流量,您可以调用CreateCenInterRegionTrafficQosPolicy接口创建企业版转发路由器下的跨地域流量调度策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72300', + 'abilityTreeNodes' => [ + 'FEATUREcbnUX9TH2', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建流量调度策略。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建流量调度策略。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-8vbuqeo5h5pu3m01d****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-attach-r6g0m3epjehw57****', + ], + ], + [ + 'name' => 'TrafficQosPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TrafficQosPolicyDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'BandwidthGuaranteeMode', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '带宽保障类型,可以选择按带宽绝对值或者按带宽百分比模式。取值:'."\n" + ."\n" + .'- **byBandwidth**:按带宽绝对值模式配置QoS队列。'."\n" + ."\n" + .'- **byBandwidthPercent**(默认值):按带宽百分比模式配置QoS队列。', + 'type' => 'string', + 'required' => false, + 'example' => 'byBandwidthPercent', + ], + ], + [ + 'name' => 'TrafficQosQueues', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '流量调度策略包含的队列信息。'."\n" + ."\n" + .'最多支持创建3个队列,更多队列需要用CreateCenInterRegionTrafficQosQueue 创建。', + 'type' => 'array', + 'items' => [ + 'description' => '队列信息。', + 'type' => 'object', + 'properties' => [ + 'QosQueueName' => [ + 'description' => '当前队列的名称。'."\n" + ."\n" + .'一个流量调度策略最多支持创建3个队列,每个队列可以被指定一个队列名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + 'RemainBandwidthPercent' => [ + 'description' => '当前队列可使用的跨地域带宽的百分比。'."\n" + ."\n" + .'一个流量调度策略最多支持创建10个队列,每个队列可以被指定允许使用的跨地域带宽百分比。'."\n" + ."\n" + .'例如,您输入**1**,则表示符合当前队列的流量报文最多只能使用1%的跨地域带宽。'."\n" + ."\n" + .'> 一个流量调度策略下,所有队列的跨地域带宽百分比之和不能超过100%。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'pattern' => '^\\d+$', + ], + 'Bandwidth' => [ + 'description' => '当前队列可使用的跨地域带宽的绝对值,单位是Mbps。'."\n" + ."\n" + .'一个流量调度策略最多支持创建10个队列,每个队列可以被指定允许使用的跨地域带宽。'."\n" + ."\n" + .'例如,您输入1,则表示符合当前队列的流量报文最多只能使用1Mbps的跨地域带宽。'."\n" + ."\n" + .'> 一个流量调度策略下,所有已分配队列的跨地域带宽绝对值之和不能超过跨地域带宽的值。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + 'Dscps' => [ + 'description' => '当前队列匹配的DSCP值。'."\n" + ."\n" + .'一个流量调度策略最多支持创建3个队列,每个队列最多支持匹配60个DSCP值,DSCP值之间使用半角逗号(,)分隔。', + 'type' => 'array', + 'items' => [ + 'description' => '当前队列匹配的DSCP值。'."\n" + ."\n" + .'一个流量调度策略最多支持创建3个队列,每个队列最多支持匹配60个DSCP值,DSCP值之间使用半角逗号(,)分隔。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'required' => false, + 'maxItems' => 60, + ], + 'QosQueueDescription' => [ + 'description' => '当前队列的描述信息。'."\n" + ."\n" + .'一个流量调度策略最多支持创建10个队列,每个队列可以被添加一个队列描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 11, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TrafficQosPolicyId' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'example' => 'qos-eczzew0v1kzrb5****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '创建跨地域流量调度策略', + 'description' => '- 仅企业版转发路由器下的跨地域连接支持创建跨地域流量调度策略。'."\n" + ."\n" + .'- 流量调度功能仅作用在企业版转发路由器的出方向。'."\n" + ."\n" + .' 例如,您创建了华东1(杭州)与华北1(青岛)地域的跨地域连接,您在华东1(杭州)地域的转发路由器下配置流量调度功能后,在流量从华东1(杭州)地域去往华北1(青岛)地域的过程中,流量调度功能可以帮您保证各类业务的使用带宽。在流量从华北1(青岛)地域去往华东1(杭州)地域的过程中,流量调度功能不帮您保证业务带宽。'."\n" + ."\n" + .'- **CreateCenInterRegionTrafficQosPolicy**接口属于异步接口,即系统会先返回一个流量调度策略ID,但该流量调度策略并未创建完成,系统后台的创建任务仍在进行。您可以调用**ListCenInterRegionTrafficQosPolicies**接口查询流量调度策略的状态。 '."\n" + .' - 当流量调度策略处于**Creating**状态时,表示流量调度策略正在创建中,在该状态下,您只能对流量调度策略执行查询操作,不能执行其他操作。'."\n" + .' - 当流量调度策略处于**Active**状态时,表示流量调度策略创建完成。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'在调用**CreateCenInterRegionTrafficQosPolicy**接口前,确保已满足以下条件:'."\n" + ."\n" + .'- 已创建跨地域连接。具体操作,请参见[CreateTransitRouterPeerAttachment](~~261363~~)。'."\n" + .'- 已创建流量标记策略。具体操作,请参见[CreateTrafficMarkingPolicy](~~419025~~)。', + ], + 'DeleteCenInterRegionTrafficQosQueue' => [ + 'summary' => '调用DeleteCenInterRegionTrafficQosQueue接口删除流量调度策略下的队列。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除流量调度策略下的队列。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除流量调度策略下的队列。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'QosQueueId', + 'in' => 'query', + 'schema' => [ + 'description' => '队列ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'qos-queue-nv2vfzqkewhk4t****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除流量调度策略下的队列', + 'description' => '- 默认队列不支持删除。'."\n" + .'- **DeleteCenInterRegionTrafficQosQueue**接口属于异步接口,即系统会先返回一个**RequestId**,但该队列并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListCenInterRegionTrafficQosPolicies**接口查询队列的信息,当查询不到指定队列时,表示队列删除完成。', + ], + 'DeleteCenInterRegionTrafficQosPolicy' => [ + 'summary' => '调用DeleteCenInterRegionTrafficQosPolicy接口删除流量调度策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除流量调度策略。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除流量调度策略。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficQosPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'qos-eczzew0v1kzrb5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidTransitQosId.NotFound', + 'errorMessage' => 'The specified TrafficQosPolicyId is not found.', + ], + ], + ], + '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' => '删除流量调度策略', + 'description' => '- 删除流量调度策略前,需要删除流量调度策略下除默认队列以外的所有队列。具体操作,请参见[DeleteCenInterRegionTrafficQosQueue](~~419062~~)。'."\n" + .'- **DeleteCenInterRegionTrafficQosPolicy**接口属于异步接口,即系统会先返回一个**RequestId**,但该流量调度策略并未删除完成,系统后台的删除任务仍在进行。您可以调用**ListCenInterRegionTrafficQosPolicies**接口查询流量调度策略的状态。 '."\n" + ."\n" + .' - 当流量调度策略处于**Deleting**状态时,表示流量调度策略正在删除中,在该状态下,您只能对流量调度策略执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到指定流量调度策略时,表示流量调度策略删除完成。', + ], + 'UpdateCenInterRegionTrafficQosQueueAttribute' => [ + 'summary' => '调用UpdateCenInterRegionTrafficQosQueueAttribute接口修改流量调度策略下队列的名称、描述、跨地域带宽、DSCP值的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72430', + 'abilityTreeNodes' => [ + 'FEATUREcbnUX9TH2', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改队列的配置。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改队列的配置。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'QosQueueId', + 'in' => 'query', + 'schema' => [ + 'description' => '队列ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'qos-queue-nv2vfzqkewhk4t****', + ], + ], + [ + 'name' => 'QosQueueName', + 'in' => 'query', + 'schema' => [ + 'description' => '队列的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'QosQueueDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '队列新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'RemainBandwidthPercent', + 'in' => 'query', + 'schema' => [ + 'description' => '按带宽百分比模式分配时,当前队列可使用的跨地域带宽的百分比。'."\n" + ."\n" + .'输入数字即可,无需输入百分号(%)。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'pattern' => '^\\d+$', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '按带宽绝对值模式分配时,当前队列可使用的跨地域带宽的绝对值,单位Mbps。'."\n" + ."\n" + .'输入数字即可,无需输入单位。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Dscps', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '当前队列待匹配的流量报文的DSCP值。', + 'type' => 'array', + 'items' => [ + 'description' => '当前队列待匹配的流量报文的DSCP值。取值范围:**0**~**63**。'."\n" + ."\n" + .'一次最多支持输入20个DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '修改流量调度策略下队列的配置', + ], + 'UpdateCenInterRegionTrafficQosPolicyAttribute' => [ + 'summary' => '调用UpdateCenInterRegionTrafficQosPolicyAttribute接口修改流量调度策略的名称和描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改流量调度策略的名称和描述信息。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改流量调度策略的名称和描述信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficQosPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'qos-eczzew0v1kzrb5****', + ], + ], + [ + 'name' => 'TrafficQosPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TrafficQosPolicyDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + '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.', + ], + ], + ], + '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' => '修改流量调度策略的名称和描述信息', + ], + 'ListCenInterRegionTrafficQosPolicies' => [ + 'summary' => '调用ListCenInterRegionTrafficQosPolicies接口查询流量调度策略的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72383', + 'abilityTreeNodes' => [ + 'FEATUREcbnUX9TH2', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'tr-bp1rmwxnk221e3fas****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'tr-attach-r6g0m3epjehw57****', + ], + ], + [ + 'name' => 'TrafficQosPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rnghap5gc8155x****', + ], + ], + [ + 'name' => 'TrafficQosPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TrafficQosPolicyDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '113BFD47-63DF-5D9D-972C-033FB9C360CD', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TrafficQosPolicies' => [ + 'description' => '流量调度策略列表。', + 'type' => 'array', + 'items' => [ + 'description' => '流量策略的信息。', + 'type' => 'object', + 'properties' => [ + 'TrafficQosPolicyName' => [ + 'description' => '流量调度策略的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'TrafficQosPolicyStatus' => [ + 'description' => '流量调度策略的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Creating', + ], + 'TrafficQosPolicyId' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'example' => 'qos-rnghap5gc8155x****', + ], + 'TrafficQosPolicyDescription' => [ + 'description' => '流量调度策略的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'BandwidthGuaranteeMode' => [ + 'description' => '带宽保障类型。'."\n" + .'- **byBandwidth**:按带宽绝对值模式配置QoS队列。'."\n" + .'- **byBandwidthPercent**:按带宽百分比模式配置QoS队列。', + 'type' => 'string', + 'example' => 'byBandwidthPercent', + ], + 'TrafficQosQueues' => [ + 'description' => '队列信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '队列的信息。', + 'type' => 'object', + 'properties' => [ + 'QosQueueName' => [ + 'description' => '队列的名称。', + 'type' => 'string', + 'example' => 'namtest', + ], + 'RemainBandwidthPercent' => [ + 'description' => '带宽保障类型为按百分比模式时,当前队列占用的跨地域带宽的百分比。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Bandwidth' => [ + 'description' => '带宽保障类型为按绝对值模式时,当前队列分配的跨地域带宽的值。', + 'type' => 'string', + 'example' => '1', + ], + 'QosQueueId' => [ + 'description' => '队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-njcrmr9fiu1jii****', + ], + 'QosQueueDescription' => [ + 'description' => '队列的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'Dscps' => [ + 'description' => '当前队列待匹配的流量报文的DSCP值。', + 'type' => 'array', + 'items' => [ + 'description' => '当前队列待匹配的流量报文的DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + ], + 'EffectiveBandwidth' => [ + 'description' => '当前队列实际生效的带宽值。', + 'type' => 'string', + 'example' => '1.35', + ], + ], + ], + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-2ze4ta4v32umj0rb***', + ], + 'TransitRouterAttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-q7ct7c06jpw***', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '查询流量调度策略的信息', + 'description' => '在调用**ListCenInterRegionTrafficQosPolicies**接口过程中:'."\n" + ."\n" + .'- **TransitRouterId**或**TrafficQosPolicyId**参数至少输入一个。'."\n" + ."\n" + .'- 如果您未输入流量调度策略ID(即未指定**TrafficQosPolicyId**参数的值),则接口会根据**TransitRouterId**、**TransitRouterAttachmentId**、**TrafficQosPolicyName**和**TrafficQosPolicyDescription**参数的值仅返回流量调度策略的信息,并不会查询流量调度策略下队列的信息(即响应中不包含**TrafficQosQueues**字段)。'."\n" + .'- 如果您输入了流量调度策略ID(即指定了**TrafficQosPolicyId**参数的值),则接口会为您返回该流量调度策略的信息以及该流量调度策略下队列的信息(即响应中包含**TrafficQosQueues**字段)。如果**TrafficQosQueues**字段为空数组,则表示当前流量调度策略下仅存在默认队列'."\n" + .'- 调用接口时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会显示流量调度策略的信息。', + ], + 'ListCenInterRegionTrafficQosQueues' => [ + 'summary' => '调用ListCenInterRegionTrafficQosQueues接口查询流量调度策略队列的信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '160569', + 'abilityTreeNodes' => [ + 'FEATUREcbnUX9TH2', + ], + ], + 'parameters' => [ + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1rmwxnk221e3fas****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-a6p8voaodog5c0****', + ], + ], + [ + 'name' => 'TrafficQosPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rnghap5gc8155x****', + ], + ], + [ + 'name' => 'TrafficQosQueueId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略队列ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-siakjb2nn9gz5z****', + ], + ], + [ + 'name' => 'TrafficQosQueueName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略队列名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qosQueueName', + ], + ], + [ + 'name' => 'TrafficQosQueueDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量调度策略队列描述。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qosQueueDescription', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:1~100。默认值:20。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'required' => false, + 'example' => '2ca1ed1573cb****', + ], + ], + [ + 'name' => 'EffectiveBandwidthFilter', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '按照实际的生效带宽值进行过滤,只允许输入正整数,单位Mbps。', + 'type' => 'object', + 'properties' => [ + 'Gte' => [ + 'description' => '实际生效带宽大于或等于指定带宽值。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50', + ], + 'Lte' => [ + 'description' => '实际生效带宽小于或等于指定带宽值。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => '0151fa6aa1ed****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1D1E15D2-416D-54F3-BDD9-BC27DE4C6352', + ], + 'TrafficQosQueues' => [ + 'description' => '流量调度策略包含的队列信息。', + 'type' => 'array', + 'items' => [ + 'description' => '流量调度策略包含的队列信息。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterAttachmentId' => [ + 'description' => '跨地域连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-nzrcv25d7ezt23****', + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-p0wwagjv6fvxt4b7y****', + ], + 'TrafficQosQueueName' => [ + 'description' => '流量调度策略队列名称。', + 'type' => 'string', + 'example' => 'qosQueueName', + ], + 'RemainBandwidthPercent' => [ + 'description' => '带宽保障类型为按百分比模式时,当前队列可使用的跨地域带宽的百分比。'."\n" + ."\n" + .'例如,**1**表示符合当前队列的流量报文最多只能使用1%的跨地域带宽。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Bandwidth' => [ + 'description' => '带宽保障类型为按绝对值模式时,当前队列分配跨地域带宽的值。'."\n" + ."\n" + .'例如,**1**表示符合当前队列的流量报文最多只能使用1Mbps的跨地域带宽。', + 'type' => 'string', + 'example' => '1', + ], + 'EffectiveBandwidth' => [ + 'description' => '当前队列实际生效的带宽值。', + 'type' => 'string', + 'example' => '1.35', + ], + 'TrafficQosPolicyId' => [ + 'description' => '流量调度策略ID。', + 'type' => 'string', + 'example' => 'qos-fv2qq9yqrsjowp****', + ], + 'TrafficQosQueueId' => [ + 'description' => '流量调度策略队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-siakjb2nn9gz5z****'."\n", + ], + 'TrafficQosQueueDescription' => [ + 'description' => '流量调度策略队列描述。', + 'type' => 'string', + 'example' => 'qosQueueDescription'."\n", + ], + 'Dscps' => [ + 'description' => '当前队列匹配的DSCP值。', + 'type' => 'array', + 'items' => [ + 'description' => '当前队列匹配的DSCP值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + 'Status' => [ + 'description' => '队列的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:运行中。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Active', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询流量调度策略队列的信息', + 'description' => '调用接口时请确保**TransitRouterId**或**TrafficQosPolicyId**或**TrafficQosQueueId**参数至少输入一个。'."\n" + ."\n" + .'调用接口时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**,但不会显示流量调度策略的信息。', + ], + 'DeleteRouteServiceInCen' => [ + 'summary' => '调用DeleteRouteServiceInCen接口删除基础版转发路由器云服务配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'Host', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务IP地址或地址段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '100.118.28.0/24', + ], + ], + [ + 'name' => 'HostRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口查询地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AccessRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问云服务的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HostVpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务关联的VPC实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1t36rn9l53iwbsf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.CloudRouteNumberInvalid', + 'errorMessage' => 'Cloud route number is invalid', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.CloudRouteStatusNotAllow', + 'errorMessage' => 'Operation is prohibited because status of cloud route is invalid.', + ], + ], + ], + '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' => '删除云服务', + 'description' => '**DeleteRouteServiceInCen**接口属于异步接口,即系统会先返回一个**RequestId**,但云服务配置并未删除完成,系统后台的删除任务仍在进行,如果您输入的参数值有误,调用接口后仍会正常返回RequestId,但云服务配置尚未被删除。您可以调用**DescribeRouteServicesInCen**接口查询云服务的状态。 '."\n" + ."\n" + .'- 当云服务处于**Deleting**状态时,表示云服务配置正在删除中,在该状态下,您只能对云服务配置执行查询操作,不能执行其他操作。'."\n" + .'- 当查询不到指定的云服务配置时,表示云服务配置删除完成。', + ], + 'DescribeRouteServicesInCen' => [ + 'summary' => '调用DescribeRouteServicesInCen接口查询基础版转发路由器下的云服务配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-pfa6ugf3xl0qsd****', + ], + ], + [ + 'name' => 'Host', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务的服务地址。'."\n" + ."\n" + .'支持输入域名、IP地址或IP地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '100.118.28.0/24', + ], + ], + [ + 'name' => 'HostRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AccessRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问云服务的地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HostVpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务关联的VPC实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '196C99CA-6997-5951-9721-AE89720DF856', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RouteServiceEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteServiceEntry' => [ + 'description' => '云服务信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '云服务配置。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '云服务的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'Host' => [ + 'description' => '云服务的服务地址。', + 'type' => 'string', + 'example' => '100.118.28.0/24', + ], + 'Description' => [ + 'description' => '云服务的描述信息。', + 'type' => 'string', + 'example' => 'descname', + ], + 'HostVpcId' => [ + 'description' => '云服务关联的VPC实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-pfa6ugf3xl0qsd****', + ], + 'AccessRegionId' => [ + 'description' => '访问云服务的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'HostRegionId' => [ + 'description' => '云服务所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Cidrs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cidr' => [ + 'description' => '云服务的服务地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '云服务的服务地址。'."\n" + ."\n" + .'- 如果请求参数**Host**是IP地址或IP地址段,则**Cidrs**为IP地址或IP地址段。'."\n" + .'- 如果请求参数**Host**是域名,则**Cidrs**为域名解析后的IP地址。', + 'type' => 'string', + 'example' => '100.118.28.0/24', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询云服务配置', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ResolveAndRouteServiceInCen' => [ + 'summary' => '您可以通过调用ResolveAndRouteServiceInCen接口设置云服务,为本地网络添加访问云服务的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-ckwa2hhmuislse****', + ], + ], + [ + 'name' => 'Host', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务IP地址或地址段。'."\n" + ."\n" + .'> 通常云服务会使用多个地址或地址段,建议您重复调用本接口,添加该云服务所有地址或地址段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '100.118.28.0/24', + ], + ], + [ + 'name' => 'HostRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务所在的地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HostVpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务关联的VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-o6woh5s494zueq40v****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'descname', + ], + ], + [ + 'name' => 'AccessRegionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '访问云服务的地域ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '访问云服务的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + 'required' => true, + 'example' => 'cn-hangzhou', + 'maxItems' => 32, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '设置云服务', + 'description' => '云服务指使用阿里云云服务地址段100.64.0.0/10提供服务的云产品,例如对象存储OSS(Object Storage Service)、日志服务SLS(Log Service)、数据传输服务DTS(Data Transmission Service)等。如果您的本地网络需要访问云服务,您需要将本地网络关联的边界路由器VBR(Virtual Border Router)实例或云连接网CCN(Cloud Connect Network)实例加载至云企业网,并且将云服务所在地域的一个专有网络VPC(Virtual Private Cloud)实例加载至该云企业网。加载后,您的本地网络可通过云企业网访问云服务所在地域的VPC实例,并通过该VPC访问云服务。'."\n" + ."\n" + .'- 使用限制,该接口仅适用于基础版转发路由器。VBR实例关联的本地网络只能通过云企业网访问和其同地域的云服务。'."\n" + ."\n" + .' 例如:云服务所在地域为华北2(北京),那么只有华北2(北京)地域下的VBR实例关联的本地网络可以访问云服务。'."\n" + ."\n" + .'- **ResolveAndRouteServiceInCen**接口属于异步接口,即系统会先返回一个**RequestId**,但云服务配置并未添加完成,系统后台的添加任务仍在进行。您可以调用**DescribeRouteServicesInCen**接口查询云服务的状态。 '."\n" + .' - 当云服务处于**Creating**状态时,表示云服务配置正在添加中,在该状态下,您只能对云服务配置执行查询操作,不能执行其他操作。'."\n" + .' - 当云服务处于**Active**状态时,表示云服务配置添加完成。'."\n" + .' - 当云服务处于**Failed**状态时,表示云服务配置添加失败。'."\n" + .'### 前提条件'."\n" + ."\n" + .'在调用ResolveAndRouteServiceInCen接口前,确保满足以下条件:'."\n" + ."\n" + .'- 您本地网络连接的VBR或CCN实例已经加载到云企业网。'."\n" + .'- 云服务所在地域已有VPC实例加载至云企业网。具体操作,请参见[AttachCenChildInstance](~~65902~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenPrivateZoneRoutes' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值为**10**,取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc**** ', + ], + ], + [ + 'name' => 'AccessRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问PrivateZone服务的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HostRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'PrivateZone服务所在的地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '461EC1B5-04A8-4706-8764-8F5BCEF48A6F', + ], + 'PrivateZoneDnsServers' => [ + 'description' => 'PrivateZone服务的DNS服务器IP地址。', + 'type' => 'string', + 'example' => '100.100.XX.XX/32,100.100.XX.XX/32', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-7qthudw0ll6jmc**** ', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '总条目数。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'PrivateZoneInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateZoneInfo' => [ + 'description' => 'PrivateZone服务的详细配置信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'PrivateZone服务的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Deleting**:删除中。'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'AccessRegionId' => [ + 'description' => '访问PrivateZone服务的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'HostRegionId' => [ + 'description' => 'PrivateZone服务所在的地域ID。'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'HostVpcId' => [ + 'description' => 'PrivateZone服务关联的VPC实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp18sth14qii3pnvo****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询PrivateZone', + 'summary' => '调用DescribeCenPrivateZoneRoutes接口查询云企业网实例的PrivateZone服务配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnroutePrivateZoneInCenToVpc' => [ + 'summary' => '调用UnroutePrivateZoneInCenToVpc接口删除PrivateZone服务配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'AccessRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问PrivateZone服务的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + 409 => [ + [ + 'errorCode' => 'InvalidOperation.PrivatezoneRouteExisted', + 'errorMessage' => 'Privatezone routes already existed.', + ], + ], + ], + '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' => '删除PrivateZone', + 'description' => '**UnroutePrivateZoneInCenToVpc**接口属于异步接口,即系统会先返回一个**RequestId**,但PrivateZone服务配置并未删除完成,系统后台的删除任务仍在进行。您可以调用**DescribeCenPrivateZoneRoutes**接口查询PrivateZone服务的状态。 '."\n" + ."\n" + .'- 当PrivateZone服务处于**Deleting**状态时,表示PrivateZone服务配置正在删除中,在该状态下,您只能对PrivateZone服务配置执行查询操作,不能执行其他操作。'."\n" + .'- 当查询不到指定的PrivateZone服务配置时,表示PrivateZone服务配置删除完成。'."\n" + ."\n" + .'如果存在访问地域为云连接网地域的PrivateZone配置,需先删除云连接网地域的PrivateZone配置,在删除其他访问地域的PrivateZone配置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RoutePrivateZoneInCenToVpc' => [ + 'summary' => '调用RoutePrivateZoneInCenToVpc接口设置PrivateZone服务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'AccessRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问PrivateZone服务的地域ID。'."\n" + ."\n" + .'访问所在地是指访问PrivateZone服务的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HostRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'PrivateZone服务所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HostVpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'PrivateZone服务关联的VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1h8vbrbcgohcju5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', + ], + ], + ], + ], + ], + '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.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.PvtzNotAssociatedWithVpc', + 'errorMessage' => 'Privatezone not associated with the specified vpc.', + ], + ], + 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.', + ], + ], + ], + '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' => '设置PrivateZone', + 'description' => 'PrivateZone是基于阿里云专有网络VPC(Virtual Private Cloud)环境的私有DNS域名解析和管理服务。边界路由器VBR(Virtual Border Router)实例、云连接网CCN(Cloud Connect Network)实例加载到云企业网中后,其关联的本地网络可以通过云企业网访问PrivateZone服务。'."\n" + ."\n\n" + .'- VBR实例和CCN实例关联的本地网络只能访问和其同地域的PrivateZone服务。'."\n" + ."\n" + .' 例如:PrivateZone服务所在地为华北2(北京),那么只有华北2(北京)地域下的VBR实例和中国内地CCN实例关联的本地网络可以访问PrivateZone服务。'."\n" + .'- **RoutePrivateZoneInCenToVpc**接口属于异步接口,即系统会先返回一个**RequestId**,但PrivateZone服务配置并未添加完成,系统后台的添加任务仍在进行。您可以调用**DescribeCenPrivateZoneRoutes**接口查询PrivateZone服务的状态。 '."\n" + ."\n" + .' - 当PrivateZone服务处于**Creating**状态时,表示PrivateZone服务配置正在添加中,在该状态下,您只能对PrivateZone服务配置执行查询操作,不能执行其他操作。'."\n" + .' - 当PrivateZone服务处于**Active**状态时,表示PrivateZone服务配置添加完成。'."\n" + .' - 当PrivateZone服务处于**Failed**状态时,表示PrivateZone服务配置添加失败。'."\n" + ."\n" + .'#### 前提条件'."\n" + ."\n" + .'在调用**RoutePrivateZoneInCenToVpc**接口前,确保满足以下条件:'."\n" + ."\n" + .'- 您已部署好PrivateZone服务。具体操作,请参见[云解析PrivateZone快速入门](~~64627~~)。'."\n" + .'- 确保PrivateZone服务关联的VPC实例、访问所在地的VBR实例或CCN实例已加载至同一个云企业网实例。具体操作,请参见[AttachCenChildInstance](~~65902~~)。'."\n" + .'- 如果您本地网络使用CCN实例接入阿里云,且CCN实例所属账号与VPC实例所属账号、云企业网实例所属账号不同,那么您需要先完成对CCN实例的授权。具体操作,请参见[云连接网授权](~~106674~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTransitRouterMulticastDomain' => [ + 'summary' => '组播域是在地域范围内定义一个组播网络的范围,只有组播域之内的资源可以发送和接收组播流量,组播域之外的资源无法发送和接收组播流量,您可以调用CreateTransitRouterMulticastDomain接口创建组播域。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '129145', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnI6X1AL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-a7syd349kne38g****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-p0wr9p28r92d598y6****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainName', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建组播域。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建组播域。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Options', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '组播域功能选项。', + 'type' => 'object', + 'properties' => [ + 'Igmpv2Support' => [ + 'description' => '是否为组播域开启IGMP功能,开启该功能后主机可以通过互联网组管理协议IGMP(Internet Group Management Protocol)协议动态加入或离开组播组。取值:'."\n" + ."\n" + .'- **enable**:开启IGMP功能。'."\n" + .'- **disable**(默认值):未开启IGMP功能。'."\n" + ."\n" + .'> - IGMP功能正在公测中,如需使用,请向客户经理申请使用权限。'."\n" + .'> - IGMP功能开启后不支持关闭。', + 'type' => 'string', + 'required' => false, + 'example' => 'enable', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse<String>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterMulticastDomainId' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '94E19C6F-206F-5223-9A63-64B85851BC04', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterMulticastDomainId\\": \\"tr-mcast-domain-40cwj0rgzgdtam****\\",\\n \\"RequestId\\": \\"94E19C6F-206F-5223-9A63-64B85851BC04\\"\\n}","type":"json"}]', + 'title' => '创建组播域', + 'description' => '在调用本接口前,请先了解以下信息:'."\n" + ."\n" + .'- 请确保您已经在待建立组播网络的地域创建了企业版转发路由器,并开启了企业版转发路由器的组播功能。具体操作,请参见[CreateTransitRouter](~~261169~~)。'."\n" + ."\n" + .' 如果您在申请组播资源前已创建了企业版转发路由器实例,则该企业版转发路由器实例不支持开启组播功能,您可以删除当前企业版转发路由器实例,重新创建。如何删除企业版转发路由器实例,请参见[DeleteTransitRouter](~~261218~~)。'."\n" + .'- 在调用**CreateTransitRouterMulticastDomain**接口的过程中,如果您指定了**CenId**、**RegionId**参数的值,则无需指定**TransitRouterId**参数的值;如果您指定了**TransitRouterId**参数的值,则无需指定**CenId**和**RegionId**参数的值。', + ], + 'DeleteTransitRouterMulticastDomain' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除组播域。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除组播域。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '40194E53-2484-5831-BB53-E11D123C1A32', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除组播域', + 'summary' => '调用DeleteTransitRouterMulticastDomain接口删除组播域。', + 'description' => '删除组播域前,请确保满足以下条件:'."\n" + ."\n" + .'- 组播域未绑定任何交换机。具体操作,请参见[DisassociateTransitRouterMulticastDomain](~~429774~~)。'."\n" + .'- 组播域下不存在组播源和组播成员。具体操作,请参见[DeregisterTransitRouterMulticastGroupSources](~~429776~~)和[DeregisterTransitRouterMulticastGroupMembers](~~429779~~)。'."\n" + .'- 组播域未作为组播成员被关联至其他组播域。您可以在其他组播域中删除组播成员,解除其他组播域和当前组播域的关联关系。具体操作,请参见[DeregisterTransitRouterMulticastGroupMembers](~~429779~~)。'."\n" + .'- 调用接口时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会删除组播域。', + ], + 'ModifyTransitRouterMulticastDomain' => [ + 'summary' => '调用ModifyTransitRouterMulticastDomain接口修改组播域的名称、描述信息以及功能选项。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '129151', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnI6X1AL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainName', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改组播域的名称和描述信息。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改组播域的名称和描述信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Options', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '组播域功能选项。', + 'type' => 'object', + 'properties' => [ + 'Igmpv2Support' => [ + 'description' => '是否为组播域开启IGMP功能,开启该功能后主机可以通过互联网组管理协议IGMP(Internet Group Management Protocol)协议动态加入或离开组播组。取值:**enable**。'."\n" + ."\n" + .'> - IGMP功能正在公测中,如需使用,请向客户经理申请使用权限。'."\n" + .'> - IGMP功能开启后不支持关闭。', + 'type' => 'string', + 'required' => false, + 'example' => 'enable', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '26273D23-5CB0-5EFC-AF5F-78A5448084C9', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '修改组播域配置', + ], + 'ListTransitRouterMulticastDomains' => [ + 'summary' => '调用ListTransitRouterMulticastDomains接口查询组播域的状态、组播域ID、组播域的描述等信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '129152', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnNFSCZP', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cen-a7syd349kne38g****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-p0wr9p28r92d598y6****', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-mcast-domain-3r3bvbypxqheej****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8A0F93D1-FD6C-56FC-B6D2-668FC92D12D2', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TransitRouterMulticastDomains' => [ + 'description' => '组播域信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '组播域的信息。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterMulticastDomainId' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'example' => 'tr-mcast-domain-3r3bvbypxqheej****', + ], + 'TransitRouterMulticastDomainName' => [ + 'description' => '组播域的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'TransitRouterMulticastDomainDescription' => [ + 'description' => '组播域的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'Status' => [ + 'description' => '组播域的状态。'."\n" + ."\n" + .'仅取值:**Active**,表示组播域当前可用。', + 'type' => 'string', + 'example' => 'Active', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-bp1c23ijrl6d6c226h***', + ], + 'RegionId' => [ + 'description' => '转发路由器实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-h19xdb0qy2b3ir****', + ], + 'Options' => [ + 'description' => '组播域功能选项。', + 'type' => 'object', + 'properties' => [ + 'Igmpv2Support' => [ + 'description' => '是否为组播域开启了IGMP功能。', + 'type' => 'string', + 'example' => 'enable', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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' => '查询组播域的信息', + 'description' => '- RegionId必须和CenId组合使用,不能单独使用,否则将不会显示组播域的信息。 但TransitRouterId和TransitRouterMulticastDomainId可以单独使用。'."\n" + .'- 调用接口时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**,但不会显示组播域的详细信息。', + ], + 'ListTransitRouterMulticastDomainAssociations' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-p90y3ymbbwuvy5****', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '交换机ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。'."\n" + ."\n" + .'最多支持输入20个交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域关联的资源类型。'."\n" + ."\n" + .'仅取值:**VPC**。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域关联的资源的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-p0w9alkte4w2htrqe****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1CD0969B-A605-5D2D-BFF0-699FD182FB7F', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TransitRouterMulticastAssociations' => [ + 'description' => '关联信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '关联信息。', + 'type' => 'object', + 'properties' => [ + 'TransitRouterMulticastDomainId' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + 'TransitRouterAttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-p90y3ymbbwuvy5****', + ], + 'VSwitchId' => [ + 'description' => '交换机ID。', + 'type' => 'string', + 'example' => 'vsw-p0wxk12u6okfkr8xy****', + ], + 'Status' => [ + 'description' => '关联状态。'."\n" + ."\n" + .'- **Associated**:已关联。'."\n" + .'- **Associating**:关联中。'."\n" + .'- **Dissociating**:解除关联中。', + 'type' => 'string', + 'example' => 'Dissociating', + ], + 'ResourceType' => [ + 'description' => '组播域关联的资源类型。'."\n" + ."\n" + .'仅取值:**VPC**。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'ResourceOwnerId' => [ + 'description' => '组播域关联的资源所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'ResourceId' => [ + 'description' => '组播域关联的资源的ID。', + 'type' => 'string', + 'example' => 'vpc-p0w9b7g9l90yofr0n****', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询组播域的关联信息', + 'summary' => '您可以调用ListTransitRouterMulticastDomainAssociations接口查询组播域和交换机的关联关系。', + 'description' => '- 调用接口时请求参数**TransitRouterMulticastDomainId** 和 **TransitRouterAttachmentId**必须输入一个。输入**TransitRouterAttachmentId**表示查询VPC实例下已绑定组播域的交换机的信息。输入**TransitRouterMulticastDomainId**表示查询组播域下已绑定的交换机的信息。'."\n" + ."\n" + .'- 在调用**ListTransitRouterMulticastDomainAssociations**接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回**RequestId**,但不会显示组播域和交换机的关联关系。', + ], + 'ListTransitRouterMulticastDomainVSwitches' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cen-44m0p68spvlrqq****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-p0wr1cd4fcuxy3ui0****', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '交换机ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。'."\n" + ."\n" + .'一次最多支持输入50个交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-p0w5ejr9bzfsttiza****', + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。最小值:**0**。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + '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' => '交换机ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。', + 'type' => 'string', + 'example' => 'vsw-p0w5ejr9bzfsttiza****', + ], + 'maxItems' => 50, + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询专有网络VPC实例下已关联组播域的交换机的信息', + 'summary' => 'VPC实例连接至企业版转发路由器后,您可以调用ListTransitRouterMulticastDomainVSwitches接口查询VPC实例下已绑定组播域的交换机的信息。', + 'description' => '在调用ListTransitRouterMulticastDomainVSwitches接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会显示专有网络VPC实例下已关联组播域的交换机的信息。', + ], + 'AssociateTransitRouterMulticastDomain' => [ + 'summary' => '为了VPC下的资源可以实现组播通信,调用AssociateTransitRouterMulticastDomain接口将专有网络(VPC)下的交换机(VSwitch)关联到组播域中。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '129158', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnI6X1AL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-attach-g3kz2k3u76amsk****', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '交换机ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。'."\n" + ."\n" + .'一次最多支持关联5个交换机,一个组播域最多支持关联10个交换机。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-p0wxk12u6okfkr8xy****', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会将交换机关联至组播域。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接将交换机关联至组播域。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse<String>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F88AC12C-943B-50E9-A344-4F8820BB07A7', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastDomainAssociations', + 'callbackInterval' => 5000, + 'maxCallbackTimes' => 20, + ], + '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' => '将专有网络VPC下的交换机关联至组播域', + 'description' => '- 一个交换机只支持关联至一个组播域。请确保待关联的交换机未与其他组播域建立关联关系。解除交换机与组播域的关联关系,请参见[DisassociateTransitRouterMulticastDomain](~~429774~~)。'."\n" + .'- **AssociateTransitRouterMulticastDomain**接口属于异步接口,即系统会先返回一个**RequestId**,但交换机和组播域并未完全建立关联关系,系统后台的关联任务仍在进行。您可以调用**ListTransitRouterMulticastDomainAssociations**接口查询交换机和组播域的关联状态。'."\n" + ."\n" + .' - 当关联状态为**Associating**时,表示交换机和组播域正在建立关联关系,在该状态下,您只能对交换机执行查询操作,不能执行其他操作。'."\n" + .' - 当关联状态为**Associated**时,表示交换机和组播域已成功建立关联关系。'."\n" + ."\n" + .'- 交换机所属的VPC必须已经连接到企业版转发路由器。创建VPC连接,请参见[CreateTransitRouterVpcAttachment](~~468237~~)。', + ], + 'DisassociateTransitRouterMulticastDomain' => [ + 'summary' => '调用DisassociateTransitRouterMulticastDomain接口解除交换机与组播域的关联关系。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '129159', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnI6X1AL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接ID。'."\n" + ."\n" + .'本参数为交换机所属的专有网络VPC(Virtual Private Cloud)被连接至转发路由器实例后生成的VPC连接的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-attach-g3kz2k3u76amsk****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会解除交换机和组播域的关联关系。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接解除交换机和组播域的关联关系。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '交换机ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。'."\n" + ."\n" + .'一次最多支持与5个交换机解除关联关系。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', + ], + 'required' => false, + 'docRequired' => true, + 'maxItems' => 1000, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6F6B3FF0-45D1-5416-B189-C45A42A0222B', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '解除交换机与组播域的关联关系', + 'description' => '- 交换机和组播域解除关联前,请确保交换机下不存在组播源和组播成员。删除组播源和删除组播成员的操作,请参见[DeregisterTransitRouterMulticastGroupSources](~~468416~~)和[DeregisterTransitRouterMulticastGroupMembers](~~468409~~)。'."\n" + .'- 如果您输入的参数有误调用接口后仍然会返回RequestId,但不会解除交换机与组播域的关联关系。'."\n" + .'- **DisassociateTransitRouterMulticastDomain**接口属于异步接口,即系统会先返回一个**RequestId**,但交换机和组播域并未完全解除关联关系,系统后台的解除任务仍在进行。您可以调用**ListTransitRouterMulticastDomainAssociations**接口查询交换机和组播域的关联状态。 '."\n" + ."\n" + .' - 当关联状态为**Dissociating**时,表示交换机和组播域正在解除关联关系,在该状态下,您只能对交换机执行查询操作,不能执行其他操作。'."\n" + .' - 当在组播域下查询不到该交换机的信息时,表示交换机和组播域已成功解除关联关系。', + ], + 'ListTransitRouterMulticastGroups' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '129165', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnI6X1AL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播域ID。'."\n" + ."\n" + .'TransitRouterMulticastDomainId或TransitRouterAttachmentId参数必须输入其中一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', + ], + ], + [ + 'name' => 'GroupIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '组播组的IP地址。'."\n" + ."\n" + .'每个组播组通过一个组播IP地址进行标识。', + 'type' => 'string', + 'required' => false, + 'example' => '239.XX.XX.2', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。'."\n" + ."\n" + .'TransitRouterMulticastDomainId或TransitRouterAttachmentId参数必须输入其中一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-g3kz2k3u76amsk****', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '交换机ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。'."\n" + ."\n" + .'最多支持输入20个交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'PeerTransitRouterMulticastDomains', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '跨地域组播域ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '跨地域组播域ID。'."\n" + ."\n" + .'最多支持输入20个跨地域组播域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '组播资源的类型。'."\n" + ."\n" + .'- **VPC**:表示查询专有网络VPC(Virtual Private Cloud)下的组播资源信息。'."\n" + .'- **TR**:表示查询跨地域的组播资源的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播资源关联的资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-p0w9alkte4w2htrqe****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'IsGroupSource', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询组播源。'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。'."\n" + ."\n" + .'>和IsGroupMember配合使用。'."\n" + .'> - 若两者均不配置,则默认查询组播源和成员。'."\n" + .'> - 若只配置其一或两者均配置,则以配置参数为准。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IsGroupMember', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询组播成员。'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。'."\n" + ."\n" + .'>和IsGroupMember配合使用。'."\n" + .'> - 若两者均不配置,则默认查询组播源和成员。'."\n" + .'> - 若只配置其一或两者均配置,则以配置参数为准。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NetworkInterfaceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡ID。'."\n" + ."\n" + .'最多支持输入20个弹性网卡ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-p0weuda3lszwzjly****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'FB3C4A16-0933-5850-9D43-0C3EA37BCBFB', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TransitRouterMulticastGroups' => [ + 'description' => '组播组信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '组播组的信息。', + 'type' => 'object', + 'properties' => [ + 'GroupIpAddress' => [ + 'description' => '组播资源所属的组播组的IP地址。', + 'type' => 'string', + 'example' => '239.XX.XX.2', + ], + 'TransitRouterAttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-g3kz2k3u76amsk****', + ], + 'VSwitchId' => [ + 'description' => '组播资源所属交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID(即组播资源ID)。', + 'type' => 'string', + 'example' => 'eni-p0weuda3lszwzjly****', + ], + 'PeerTransitRouterMulticastDomainId' => [ + 'description' => '跨地域的组播资源关联的组播域的ID。', + 'type' => 'string', + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + 'Status' => [ + 'description' => '组播资源的状态。'."\n" + ."\n" + .'- **Registering**:创建中。'."\n" + .'- **Registered**:可用。'."\n" + .'- **Deregistering**:删除中。', + 'type' => 'string', + 'example' => 'Registered', + ], + 'GroupSource' => [ + 'description' => '当前组播资源是否是组播源。'."\n" + ."\n" + .'- **true**:是组播源。'."\n" + .'- **false**:不是组播源。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'GroupMember' => [ + 'description' => '当前组播资源是否是组播成员。'."\n" + ."\n" + .'- **true**:是组播成员。'."\n" + .'- **false**:不是组播成员。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'MemberType' => [ + 'description' => '组播成员的类型。'."\n" + ."\n" + .'- **Static**:表示当前组播成员是通过手动方式指定的。'."\n" + ."\n" + .'- **IGMPv2**:表示当前组播成员是通过IGMP协议动态加入组播组的。', + 'type' => 'string', + 'example' => 'Static', + ], + 'SourceType' => [ + 'description' => '组播源的类型。'."\n" + ."\n" + .'- **Static**:表示当前组播源是通过手动方式指定的。'."\n" + ."\n" + .'- **IGMPv2**:表示当前组播源是通过IGMP协议动态加入组播组的。', + 'type' => 'string', + 'example' => 'Static', + ], + 'ResourceType' => [ + 'description' => '组播资源的类型。'."\n" + ."\n" + .'- **VPC**:表示当前组播资源为VPC下的资源。'."\n" + .'- **TR**:表示当前组播资源为跨地域的资源。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'ResourceOwnerId' => [ + 'description' => '组播资源所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '11081188765****', + ], + 'ResourceId' => [ + 'description' => '组播资源关联的资源ID。', + 'type' => 'string', + 'example' => 'vpc-p0w9alkte4w2htrqe****', + ], + 'TransitRouterMulticastDomainId' => [ + 'description' => '组播域ID。', + 'type' => 'string', + 'example' => 'tr-mcast-domain-kx0vk0v7fz8kx4****', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询组播域下组播成员和组播源的信息', + 'summary' => '调用ListTransitRouterMulticastGroups接口查询组播域下组播成员和组播源的详细信息。', + 'description' => '您可以调用`ListTransitRouterMulticastGroups`接口查询组播域下组播成员和组播源(以下简称为组播资源)的信息。'."\n" + ."\n" + .'- 如果您指定**GroupIpAddress**参数的值,则您可以查询组播域下指定组播组下的组播资源的信息。'."\n" + .'- 如果您指定**VSwitchIds**参数的值,则您可以查询组播域下指定交换机下的组播资源的信息。'."\n" + .'- 如果您指定**PeerTransitRouterMulticastDomains**参数的值,则您可以查询组播域下跨地域组播资源的信息。'."\n" + .'- 如果您指定**ResourceType**参数的值,则您可以查询组播域下属于某一资源类型的组播资源的信息。'."\n" + .'- 如果您指定**ResourceId**参数的值,则您可以查询某一资源下组播资源的信息。'."\n" + .'- 如果您仅指定**TransitRouterMulticastDomainId**参数的值,则您可以查询组播域下所有组播资源的信息。', + ], + 'ListGrantVSwitchEnis' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例连接的云企业网实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cen-a7syd349kne38g****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-p0w9alkte4w2htrqe****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC实例下的一个交换机ID。'."\n" + ."\n" + .'一次仅支持查询一个交换机下的弹性网卡的信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。取值范围:10~500。'."\n" + ."\n" + .'默认值:'."\n" + .'- 当不设置值时,默认值为20。'."\n" + .'- 当设置的值大于500时,默认值为500。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡的ID。'."\n" + ."\n" + .'当前系统仅支持ECS实例关联的ENI作为组播源。系统将以该ENI的主私网IP地址向组播组发送组播流量。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-wz9a2sgsskvw69v2****', + ], + 'required' => false, + ], + ], + [ + 'name' => 'NetworkInterfaceName', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test-eni-name', + ], + ], + [ + 'name' => 'PrimaryIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡主私网IPv4地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DBFE1736-2F33-5309-9954-875B11E9519D', + ], + 'TotalCount' => [ + 'description' => '列表条目数。'."\n" + .'><notice>使用MaxResults和NextToken参数进行分页查询时,返回的Total参数值无意义。></notice>', + 'type' => 'string', + 'example' => '6', + ], + 'GrantVSwitchEnis' => [ + 'description' => '弹性网卡信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡信息。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'VPC实例ID。', + 'type' => 'string', + 'example' => 'vpc-p0w9alkte4w2htrqe****', + ], + 'VSwitchId' => [ + 'description' => '交换机ID。', + 'type' => 'string', + 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-p0w172vv82kxzb49****', + ], + 'Description' => [ + 'description' => '弹性网卡的描述信息。', + 'type' => 'string', + 'example' => 'created by CBN', + ], + 'TransitRouterFlag' => [ + 'description' => '当前弹性网卡是否是转发路由器创建的。'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。'."\n" + ."\n" + .'转发路由器创建的弹性网卡不支持成为组播源或者组播成员。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'NetworkInterfaceName' => [ + 'description' => '弹性网卡的名称。', + 'type' => 'string', + 'example' => 'my-eni-name', + ], + 'PrimaryIpAddress' => [ + 'description' => '弹性网卡主私网IPv4地址。', + 'type' => 'string', + 'example' => '192.168.**.**', + ], + ], + ], + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'MaxResults' => [ + 'description' => '本次读取的最大数据量。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询专有网络VPC(Virtual Private Cloud)下可以成为组播源或者组播成员的弹性网卡的信息', + 'summary' => '调用ListGrantVSwitchEnis接口查询在一个专有网络内部,哪些弹性网卡的配置可以成为组播源或者组播成员用来进行组播通信。', + 'description' => '调用`ListGrantVSwitchEnis`接口前,请确保VPC实例已被连接至云企业网。具体操作,请参见[CreateTransitRouterVpcAttachment](~~261358~~)。', + ], + 'DeregisterTransitRouterMulticastGroupMembers' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播成员所属的组播域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + ], + [ + 'name' => 'GroupIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '组播成员所属的组播组的IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => '239.XX.XX.2', + ], + ], + [ + 'name' => 'NetworkInterfaceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡ID。'."\n" + ."\n" + .'一次支持删除多个弹性网卡。请确保您指定的弹性网卡个数与跨地域组播域的个数之和小于或等于5。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-p0weuda3lszwzjly****', + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'PeerTransitRouterMulticastDomains', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '跨地域的组播域ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '跨地域的组播域ID。'."\n" + ."\n" + .'一次支持删除多个跨地域组播域。请确保您指定的弹性网卡个数与跨地域组播域的个数之和小于或等于5。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除组播成员。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除组播成员。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse<String>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '61D0A553-5E4E-53B5-9DA3-01CBA076A286', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除组播成员', + 'summary' => '如果您不需要某个组播成员再接收组播流量,您可以调用DeregisterTransitRouterMulticastGroupMembers接口将该组播成员从组播组中删除。', + 'description' => '`DeregisterTransitRouterMulticastGroupMembers`接口属于异步接口,即系统会先返回一个**RequestId**,但组播成员未被完全删除,系统后台的删除任务仍在进行。您可以调用`ListTransitRouterMulticastGroups`接口查询组播成员的状态。 '."\n" + ."\n" + .'- 当组播成员处于**Deregistering**状态时,表示组播成员正在被删除,在该状态下,您只能对组播成员执行查询操作,不能执行其他操作。'."\n" + .'- 当`ListTransitRouterMulticastGroups`接口无法在组播域下查询到该组播成员的信息时,表示组播成员已被成功删除。'."\n" + ."\n" + .'在调用DeregisterTransitRouterMulticastGroupMembers接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会删除组播成员。', + ], + 'RegisterTransitRouterMulticastGroupSources' => [ + 'summary' => '为了实现一对多的组播通信,调用RegisterTransitRouterMulticastGroupSources接口创建组播源。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播源所属的组播域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', + ], + ], + [ + 'name' => 'GroupIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '组播源所属的组播组的IP地址。取值范围:**224.0.1.0**~**239.255.255.254**。'."\n" + .'><notice>224.0.0.0~224.0.0.127为系统保留地址,不支持作为组播组IP地址。></notice>'."\n" + .'如果当前组播域下不存在您指定的组播组,系统将自动为您创建新的组播组。', + 'type' => 'string', + 'required' => true, + 'example' => '239.XX.XX.2', + ], + ], + [ + 'name' => 'NetworkInterfaceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡ID。(即组播源)'."\n" + ."\n" + .'当前一个组播组最多一次支持创建五个组播源。'."\n" + ."\n" + .'> 当前本参数为必填参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-p0w92o2wupc3c05t****', + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建组播源。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建组播源。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所属的VPC实例ID。'."\n" + ."\n" + .'- 如果弹性网卡所属阿里云账号和您当前登录的阿里云账号为相同账号,本参数可不填。'."\n" + .'- 如果弹性网卡所属阿里云账号和您当前登录的阿里云账号为不同账号,本参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-wz9fusm6zq8uy7cfa****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse<String>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9C5D5D70-0AFF-5E5C-8D8A-E92C90C8FB08', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '创建组播源', + 'description' => '- 当前仅支持将弹性网卡ENI(Elastic Network Interface)指定为组播源。'."\n" + .'- `RegisterTransitRouterMulticastGroupSources`接口属于异步接口,即系统会先返回一个**RequestId**,但组播源未完全创建成功,系统后台的创建任务仍在进行。您可以调用`ListTransitRouterMulticastGroups`接口查询组播源的状态。 '."\n" + .' '."\n" + .' - 当组播源处于**Registering**状态时,表示组播源正在被创建,在该状态下,您只能对组播源执行查询操作,不能执行其他操作。'."\n" + .' - 当组播源处于**Registered**状态时,表示组播源已被成功创建。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'在调用`RegisterTransitRouterMulticastGroupSources`接口创建组播源前,请确保弹性网卡所在的交换机已被关联至组播域。具体操作,请参见[AssociateTransitRouterMulticastDomain](~~429778~~)。', + ], + 'DeregisterTransitRouterMulticastGroupSources' => [ + 'summary' => '如果您不需要某个组播源再发送组播流量,您可以调用DeregisterTransitRouterMulticastGroupSources接口将该组播源从组播组中删除。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '129164', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnI6X1AL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-4266****', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播源所属的组播域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + ], + [ + 'name' => 'GroupIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '组播源所属的组播组的IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => '239.XX.XX.2', + ], + ], + [ + 'name' => 'NetworkInterfaceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '组播源ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '组播源ID。'."\n" + ."\n" + .'当前一个组播组一次最多支持删除五个组播源。'."\n" + ."\n" + .'>当前本参数为必填参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-p0weuda3lszwzjly****', + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除组播源。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除组播源。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse<String>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '53E7E8BE-7F4E-5458-ACCA-9B5C1D6A642D', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除组播源', + 'description' => '`DeregisterTransitRouterMulticastGroupSources`接口属于异步接口,即系统会先返回一个**RequestId**,但组播源未被完全删除,系统后台的删除任务仍在进行。您可以调用`ListTransitRouterMulticastGroups`接口查询组播源的状态。 '."\n" + ."\n" + .'- 当组播源处于**Deregistering**状态时,表示组播源正在被删除,在该状态下,您只能对组播源执行查询操作,不能执行其他操作。'."\n" + .'- 当`ListTransitRouterMulticastGroups`接口无法在组播域下查询到该组播源的信息时,表示组播源已被成功删除。'."\n" + ."\n" + .'在调用DeregisterTransitRouterMulticastGroupSources接口过程时请确保输入的参数值无误。如果您输入的参数有误调用接口后仍然会返回RequestId,但不会删除组播源。', + ], + 'RegisterTransitRouterMulticastGroupMembers' => [ + 'summary' => '调用RegisterTransitRouterMulticastGroupMembers接口创建或添加组播成员。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '129161', + 'abilityTreeNodes' => [ + 'FEATUREcbn05IP8W', + 'FEATUREcbnI6X1AL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TransitRouterMulticastDomainId', + 'in' => 'query', + 'schema' => [ + 'description' => '组播成员所属的组播域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', + ], + ], + [ + 'name' => 'GroupIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '组播成员所属的组播组的IP地址。取值范围:**224.0.1.0**~**239.255.255.254**。'."\n" + .'><notice>224.0.0.0~224.0.0.127为系统保留地址,不支持作为组播组IP地址。></notice>'."\n" + .'如果当前组播域下不存在您指定的组播组,系统将自动在当前组播域下为您创建新的组播组。', + 'type' => 'string', + 'required' => true, + 'example' => '239.XX.XX.2', + ], + ], + [ + 'name' => 'NetworkInterfaceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡ID。'."\n" + ."\n" + .'一次支持关联多个弹性网卡。请确保您指定的弹性网卡个数与跨地域组播域的个数之和小于或等于5。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-p0weuda3lszwzjly****', + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'PeerTransitRouterMulticastDomains', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '跨地域的组播域ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '跨地域的组播域ID。'."\n" + ."\n" + .'一次支持关联多个跨地域的组播域。请确保您指定的弹性网卡个数与跨地域组播域的个数之和小于或等于5。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建组播成员。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建组播成员。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所属的VPC实例ID。'."\n" + ."\n" + .'- 如果弹性网卡所属阿里云账号和您当前登录的阿里云账号为相同账号,本参数可不填。'."\n" + .'- 如果弹性网卡所属阿里云账号和您当前登录的阿里云账号为不同账号,本参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-wz9fusm6zq8uy7cfa****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse<String>', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastGroups', + 'callbackInterval' => 5000, + 'maxCallbackTimes' => 20, + ], + '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' => '创建组播成员', + 'description' => '当前企业版转发路由器仅支持将弹性网卡ENI(Elastic Network Interface)指定为组播成员。您可以通过调用`RegisterTransitRouterMulticastGroupMembers`接口将同地域的ENI和跨地域的ENI指定为组播成员。'."\n" + ."\n" + .'- 如果您指定**NetworkInterfaceIds**参数的值,则表明您需要将当前地域下的ENI指定为组播成员。请确保ENI所属的交换机已被关联至组播域。具体操作,请参见[AssociateTransitRouterMulticastDomain](~~429778~~)。'."\n" + .'- 如果您指定**PeerTransitRouterMulticastDomains**参数的值,则表明您需要将跨地域相同组播IP地址的组播组下的组播成员指定为您当前组播组的组播成员。请确保您已经创建了跨地域连接,具体操作,请参见[CreateTransitRouterPeerAttachment](~~261363~~)。'."\n" + ."\n" + .' 例如:您在华东1(杭州)地域拥有一个组播域1,组播域1下拥有一个组播组1,在华东2(上海)地域拥有一个组播域2,组播域2下拥有组播组2,组播组1和组播组2拥有相同的组播IP地址,且华东2(上海)地域的组播组2下拥有一个组播成员2。在您调用`RegisterTransitRouterMulticastGroupMembers`接口为华东1(杭州)地域的组播组1创建组播成员时,如果您指定**PeerTransitRouterMulticastDomains**参数的值为华东2(上海)地域组播域2的ID,则华东2(上海)地域组播组2下的组播成员2,也将是华东1(杭州)地域组播组1下的组播成员。'."\n" + .'- `RegisterTransitRouterMulticastGroupMembers`接口属于异步接口,即系统会先返回一个**RequestId**,但组播成员未完全创建成功,系统后台的创建任务仍在进行。您可以调用`ListTransitRouterMulticastGroups`接口查询组播成员的状态。'."\n" + ."\n" + .' - 当组播成员处于**Registering**状态时,表示组播成员正在被创建,在该状态下,您只能对组播成员执行查询操作,不能执行其他操作。'."\n" + .' - 当组播成员处于**Registered**状态时,表示组播成员已被成功创建。', + ], + 'DisableCenVbrHealthCheck' => [ + 'summary' => '关闭指定边界路由器(VBR)的健康检查。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-sjfoejfghhjgghjghkg****', + ], + ], + [ + 'name' => 'VbrInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VbrInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-wz95o9aylj181n5****', + ], + ], + [ + 'name' => 'VbrInstanceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所属的阿里云账号(主账号)ID。'."\n" + ."\n" + .'> 如果VBR实例和云企业网实例不属于同一个账号,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1250123456123456', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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":""}]', + 'title' => '关闭边界路由器(VBR)健康检查', + 'description' => '**DisableCenVbrHealthCheck**接口属于异步接口,即系统会先返回一个**RequestId**,但健康检查配置并未删除完成,系统后台的删除任务仍在进行。您可以调用**DescribeCenVbrHealthCheck**接口查询健康检查的配置信息,当查询不到指定的健康检查配置时,则表示健康检查配置删除完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'EnableCenVbrHealthCheck' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-hahhfskfkseig****', + ], + ], + [ + 'name' => 'VbrInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shenzhen', + ], + ], + [ + 'name' => 'VbrInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-wz95o9aylj181n5mzk****', + ], + ], + [ + 'name' => 'HealthCheckSourceIp', + 'in' => 'query', + 'schema' => [ + 'description' => '指定健康检查源IP地址。支持以下两种配置方式:'."\n" + ."\n" + .'- **自动生成源IP**(推荐):系统将自动分配100.96.0.0/16网段内的IP地址。'."\n" + ."\n" + .'- **自定义源IP**:源IP地址可以是10.0.0.0/8、192.168.0.0/16、172.16.0.0/12三个网段内任意一个没有被使用的IP地址。但不能与云企业网中要互通的地址冲突,也不能与VBR实例的阿里云侧、客户侧IP地址冲突。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '192.XX.XX.1', + ], + ], + [ + 'name' => 'HealthCheckTargetIp', + 'in' => 'query', + 'schema' => [ + 'description' => '指定健康检查的目标IP地址。'."\n" + ."\n" + .'目标IP地址为VBR实例客户侧IP地址。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.XX.XX.1', + ], + ], + [ + 'name' => 'VbrInstanceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所属的阿里云账号(主账号)ID。'."\n" + ."\n" + .'> 如果VBR实例和云企业网实例不属于同一个账号,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1250123456123456', + ], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => [ + 'description' => '指定健康检查发送连续探测报文的时间间隔。单位:秒。 默认值:**2**。取值范围:**2~3**。'."\n" + ."\n\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '3', + 'minimum' => '1', + 'example' => '2', + ], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => [ + 'description' => '指定健康检查发送探测报文的个数。单位:个。 取值范围:**3~8**。默认值:**8**。'."\n" + ."\n\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '8', + 'minimum' => '3', + 'example' => '8', + ], + ], + [ + 'name' => 'HealthCheckOnly', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只开启健康检查的检测功能。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .' 若只开启健康检查的检测功能,健康检查检测到链路不通时不会触发路由切换。'."\n" + ."\n" + .' > 请确保您有其他方式保证链路的冗余性,否则开启本功能后,可能会导致链路中断。'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .' '."\n" + .' 系统默认关闭本功能。健康检查检测到链路不通时,如果云企业网实例中存在冗余的路由,则健康检查会立刻触发路由切换使用可用链路。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'fasle', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '描述。 '."\n" + ."\n" + .'长度为1~256个字符,但不能以`http:// `或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testdesc', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1F59F19C-EFD2-40B1-94D5-65B40CA8E34A', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '开启边界路由器(VBR)健康检查功能', + 'summary' => '开启边界路由器(VBR)的健康检查功能,确保及时发现出现故障的物理专线,也可修改VBR的健康检查配置。', + 'description' => '您可以通过为VBR实例设置健康检查,监测本地数据中心与阿里云之间物理专线的连接状况,以便及时发现问题。'."\n" + ."\n" + .'在使用健康检查功能前,请先了解以下信息:'."\n" + ."\n" + .'- 如果您的边界路由器实例使用的是静态路由,那么在您设置完健康检查后,您需要在边界路由器实例连接的本地数据中心中添加一条静态路由条目。'."\n" + .' 静态路由的目标网段为健康检查的源IP地址,网段掩码为32位,下一跳为边界路由器实例的阿里云侧IP地址。'."\n" + ."\n" + .'- 如果您的边界路由器实例使用的是BGP动态路由协议,则无需在本地数据中心添加路由条目。'."\n" + .'- **EnableCenVbrHealthCheck**接口属于异步接口,即系统会先返回一个**RequestId**,但该健康检查实例并未创建或修改完成,系统后台的创建任务或修改任务仍在进行。您可以调用**DescribeCenVbrHealthCheck**接口查询健康检查的配置信息,如果可以查到健康检查的配置信息,则表示健康检查创建或者修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCenVbrHealthCheck' => [ + 'summary' => '查询指定地域内边界路由器(VBR)健康检查信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-6hpdgj7ni6pz1k****', + ], + ], + [ + 'name' => 'VbrInstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VbrInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-bp1kznorjeembsuhl****', + ], + ], + [ + 'name' => 'VbrInstanceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1250123456123456', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询页码。默认值:**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。取值范围:**1**~**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B8C9702E-304A-4E18-AC89-BE2D91C2C176', + ], + 'PageNumber' => [ + 'description' => '查询页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VbrHealthChecks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VbrHealthCheck' => [ + 'description' => 'VBR实例的健康检查配置信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'HealthCheckTargetIp' => [ + 'description' => '健康检查的目标IP地址。', + 'type' => 'string', + 'example' => '192.XX.XX.1', + ], + 'VbrInstanceId' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp1kznorjeembsuhl****', + ], + 'VbrInstanceRegionId' => [ + 'description' => 'VBR实例所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-6hpdgj7ni6pz1k****', + ], + 'HealthyThreshold' => [ + 'description' => '健康检查发送探测报文的个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'HealthCheckInterval' => [ + 'description' => '健康检查发送连续探测报文的时间间隔。单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'HealthCheckSourceIp' => [ + 'description' => '健康检查的源IP地址。', + 'type' => 'string', + 'example' => '172.XX.XX.1', + ], + 'HealthCheckOnly' => [ + 'description' => '是否只开启了健康检查的检测功能。'."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .' 若只开启健康检查的检测功能,健康检查检测到链路不通时不会触发路由切换。'."\n" + ."\n" + .'- **false**:否。'."\n" + ."\n" + .' 若未开启本功能,健康检查检测到链路不通时,如果云企业网实例中存在冗余的路由,健康检查会立刻触发路由切换使用可用链路。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'healthcheck_description', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'The AccessKeyId is unauthorized.', + ], + ], + ], + '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' => '查询边界路由器(VBR)健康检查信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateFlowlog' => [ + 'summary' => '创建流日志。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '72303', + 'abilityTreeNodes' => [ + 'FEATUREcbnKD6E3I', + 'FEATUREcbnMGIE06', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'FlowLogName', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => '存储捕获流量的Project。'."\n" + ."\n" + .'- 如果您已经在当前地域创建了Project,您可以输入已创建的Project的名称。'."\n" + .'- 如果您未在当前地域创建Project,您可以为Project自定义名称,系统会帮您自动创建Project。'."\n" + ."\n" + .' Project名称在阿里云地域内全局唯一,创建后不可修改。其命名规则如下:'."\n" + ."\n" + .' - Project名称必须全局唯一。'."\n" + .' - 只能包括小写字母、数字和短划线(-)。'."\n" + .' - 必须以小写字母或者数字开头和结尾。'."\n" + .' - 长度为3~63字符。'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'flowlog-project', + ], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => '存储捕获流量的Logstore。'."\n" + ."\n" + .'- 如果您已经在当前地域创建了Logstore,您可以输入已创建的Logstore的名称。'."\n" + .'- 如果您未在当前地域创建Logstore,您可以为Logstore自定义名称,系统会帮您自动创建Logstore。'."\n" + .' Logstore名称。其命名规则如下:'."\n" + ."\n" + .' - 同一个Project下,Logstore名称不可重复。'."\n" + .' - 只能包括小写字母、数字、短划线(-)和下划线(_)。'."\n" + .' - 必须以小写字母或者数字开头和结尾。'."\n" + .' - 长度为3~63字符。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'flowlog-logstore', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:**60**或**600**。默认值:**600**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '600', + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC连接、VPN连接、VBR连接、ECR连接或跨地域连接ID。'."\n" + ."\n" + .'若需配置转发路由器实例的流日志,此字段不填值。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-r6g0m3epjehw57****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-bp1rmwxnk221e3fas****', + ], + ], + [ + 'name' => 'LogFormatString', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义流日志记录字段的字符串。 '."\n" + ."\n" + .'格式定义为:'."\n" + .'`${字段 1}${字段 2}${字段 3}...${字段 n}`'."\n" + ."\n" + .'- 如果不填写则记录所有默认字段。'."\n" + .'- 如果使用了此字段,由于`${srcaddr}${dstaddr}${bytes}`是必选参数,则必须以`${srcaddr}${dstaddr}${bytes}`开头。所有支持的流日志字段参见[配置流日志](~~339822~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '${srcaddr}${dstaddr}${bytes}', + 'maxLength' => 1000, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + 'Success' => [ + 'description' => '当前接口调用是否成功。'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'FlowLogId' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + ], + ], + ], + '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.', + ], + ], + 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' => '创建流日志', + 'description' => '流日志可以帮您捕获转发路由器实例和网络实例连接(跨地域连接、VPC连接、VPN连接、ECR连接和VBR连接)传输的流量信息。在创建流日志前,请先了解以下说明:'."\n" + .'- 仅企业版转发路由器支持创建流日志。'."\n" + .'- 对于跨地域连接的流量信息,流日志仅捕获转发路由器出方向的流量信息,不支持捕获转发路由器入方向的流量信息。'."\n" + .' '."\n" + .' 例如,美国(硅谷)地域的云服务器ECS(Elastic Compute Service)实例通过云企业网访问美国(弗吉尼亚)地域的ECS实例,在您为美国(弗吉尼亚)地域的转发路由器配置流日志后,您可以在日志服务控制台查看美国(弗吉尼亚)ECS实例向美国(硅谷)ECS实例发送的报文信息,但无法查看美国(硅谷)ECS实例向美国(弗吉尼亚)ECS实例发送的报文信息。如果您需要查看美国(硅谷)ECS实例向美国(弗吉尼亚)ECS实例发送的报文信息,您需要在美国(硅谷)地域的转发路由器上也配置流日志。'."\n" + .'- 流日志捕获VPC连接的流量信息时,仅捕获转发路由器ENI传输的流量信息,如果您需要了解VPC内其他ENI传输的流量信息,请参见[VPC流日志概述](~~127150~~)。'."\n" + .'- `CreateFlowlog`接口属于异步接口,即系统会先返回一个流日志ID,但是流日志并未创建完成,系统后台的创建任务仍在进行。您可以调用`DescribeFlowlogs`接口查询流日志的状态。'."\n" + ."\n" + .' - 当流日志处于**Creating**状态时,表示流日志正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当流日志处于**Active**状态时,表示流日志创建完成。'."\n" + .'### 前提条件'."\n" + ."\n" + .'为资源创建流日志前,请确保您已经拥有了相关资源。各个资源的创建操作,请参见:'."\n" + ."\n" + .'- [CreateTransitRouterVpcAttachment](~~468237~~)'."\n" + .'- [CreateTransitRouterEcrAttachment](~~2715446~~)'."\n" + .'- [CreateTransitRouterVpnAttachment](~~468249~~)'."\n" + .'- [CreateTransitRouterVbrAttachment](~~468243~~)'."\n" + .'- [CreateTransitRouterPeerAttachment](~~468270~~)'."\n" + .'- [CreateTransitRouter](~~468222~~)', + ], + 'DeleteFlowlog' => [ + 'summary' => '删除流日志。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72323', + 'abilityTreeNodes' => [ + 'FEATUREcbnKD6E3I', + 'FEATUREcbnMGIE06', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Success' => [ + 'description' => '当前接口调用是否成功。'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '删除流日志', + 'description' => '`DeleteFlowlog`接口属于异步接口,即系统会先返回一个**RequestId**,但流日志并未被完全删除,系统后台的删除任务仍在进行。您可以调用`DescribeFlowlogs`接口查询流日志的状态。'."\n" + .'- 当流日志处于**Deleting**状态时,表示流日志正在被删除,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .'- 当`DescribeFlowlogs`接口无法查询到该流日志时,表示流日志已被完全删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyFlowLogAttribute' => [ + 'summary' => '编辑流日志的名称、描述以及捕获窗口时长', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72413', + 'abilityTreeNodes' => [ + 'FEATUREcbnKD6E3I', + 'FEATUREcbnMGIE06', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'FlowLogName', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的新名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志新的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:**60**或**600**。默认值:**600**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '600', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Success' => [ + 'description' => '当前接口调用是否成功。'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9A411874-2EC8-4633-9D30-9012DCE89DD1', + ], + ], + ], + ], + ], + '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' => '编辑流日志的属性', + 'description' => '`ModifyFlowLogAttribute`接口属于异步接口,即系统会先返回一个**RequestId**,但流日志的修改操作并未完成,系统后台的修改操作仍在进行。您可以调用`DescribeFlowlogs`接口查询流日志的状态。'."\n" + ."\n" + .'- 当流日志处于**Modifying**状态时,表示流日志正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .'- 当流日志处于**Active**状态时,表示流日志修改完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeFlowlogs' => [ + 'summary' => '查询流日志。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72360', + 'abilityTreeNodes' => [ + 'FEATUREcbnKD6E3I', + 'FEATUREcbnMGIE06', + 'FEATUREcbnWRIR8E', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'FlowLogName', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的名称。'."\n" + ."\n" + .'名称可以为空或长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的描述信息。'."\n" + ."\n" + .'描述可以为空或长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => '存储捕获流量的Project名称。'."\n" + ."\n" + .'Project名称长度为3~63字符,必须以小写字母或者数字开头和结尾,只能包括小写字母、数字和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'FlowLogProject', + ], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => '存储捕获流量的LogStore名称。'."\n" + ."\n" + .'Logstore名称长度为3~63字符,必须以小写字母或者数字开头和结尾,只能包括小写字母、数字、短划线(-)和下划线(_)。', + 'type' => 'string', + 'required' => false, + 'example' => 'FlowLogStore', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的状态。取值:'."\n" + ."\n" + .'- **Active**:已启动。'."\n" + ."\n" + .'- **Inactive**:未启动。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的条目数。最小值:**1**。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'标签值可以为空或输入不超过128个字符的字符串,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'每一个标签键对应一个标签值,一次最多支持输入20个标签键对应的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'TransitRouterAttachmentId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-attach-qieks13jnt1cchy***', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tr-uf654ttymmljlvh2x****', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:**60**或**600**。默认值:**600**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '600', + ], + ], + [ + 'name' => 'FlowLogVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的版本。'."\n" + ."\n" + .'创建流日志时自动使用系统支持的最新版本,当前为**3**。', + 'type' => 'string', + 'required' => false, + 'example' => '3', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'string', + 'example' => '20', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'string', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'string', + 'example' => '1', + ], + 'Success' => [ + 'description' => '当前接口调用是否成功。'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'FlowLogs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FlowLog' => [ + 'description' => '流日志信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '流日志的信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '流日志的状态。'."\n" + ."\n" + .'- **Active**:已启动。'."\n" + ."\n" + .'- **Inactive**:未启动。', + 'type' => 'string', + 'example' => 'Active', + ], + 'CreationTime' => [ + 'description' => '流日志的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2021-07-24T13:00:52Z', + ], + 'FlowLogName' => [ + 'description' => '流日志的名称。', + 'type' => 'string', + 'example' => 'myFlowlog', + ], + 'Description' => [ + 'description' => '流日志的描述信息。', + 'type' => 'string', + 'example' => 'myFlowlog', + ], + 'ProjectName' => [ + 'description' => '存储捕获流量的Project名称。', + 'type' => 'string', + 'example' => 'FlowLogProject', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-7qthudw0ll6jmc****', + ], + 'LogStoreName' => [ + 'description' => '存储捕获流量的LogStore名称。', + 'type' => 'string', + 'example' => 'FlowLogStore', + ], + 'RegionId' => [ + 'description' => '流日志所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'FlowLogId' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'example' => 'flowlog-m5evbtbpt****', + ], + 'TransitRouterAttachmentId' => [ + 'description' => '网络实例连接ID。', + 'type' => 'string', + 'example' => 'tr-attach-5x4o4ynzuqbv6g****', + ], + 'TransitRouterId' => [ + 'description' => '转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-bp1g9313sx675zr1lajmj', + ], + 'LogFormatString' => [ + 'description' => '自定义流日志记录格式的字符串。'."\n" + .'格式定义为:'."\n" + ."\n" + .'`${字段1}${字段2}${字段3}`', + 'type' => 'string', + 'example' => '${srcaddr}${dstaddr}${bytes}', + ], + 'FlowLogVersion' => [ + 'description' => '流日志的版本。'."\n" + ."\n" + .'创建流日志时自动使用系统支持的最新版本,当前为**3**。', + 'type' => 'string', + 'example' => '3', + ], + 'Interval' => [ + 'description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:**60**或**600**。默认值:**600**。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '60', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询流日志', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ActiveFlowLog' => [ + 'summary' => '启动流日志,启动后开始捕获指定资源的流量。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '72280', + 'abilityTreeNodes' => [ + 'FEATUREcbnKD6E3I', + 'FEATUREcbnMGIE06', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Success' => [ + 'description' => '当前接口调用是否成功。'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '启动流日志', + 'description' => '- 创建流日志后,流日志默认为启动状态。如果您中途停止了流日志,您可以调用本接口重新启动流日志。'."\n" + .'- `ActiveFlowLog`接口属于异步接口,即系统会先返回一个**RequestId**,但流日志并未完全启动,系统后台的启动任务仍在进行。您可以调用`DescribeFlowlogs`接口查询流日志的状态。'."\n" + .' '."\n" + .' - 当流日志处于**Modifying**状态时,表示流日志正在启动中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当流日志处于**Active**状态时,表示流日志已启动完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeactiveFlowLog' => [ + 'summary' => '停止流日志,停止后不再捕获指定资源的流量。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72312', + 'abilityTreeNodes' => [ + 'FEATUREcbnKD6E3I', + 'FEATUREcbnMGIE06', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeChildInstanceRegions](~~132080~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Success' => [ + 'description' => '当前接口调用是否成功。'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '停止流日志', + 'description' => '`DeactiveFlowLog`接口属于异步接口,即系统会先返回一个**RequestId**,但流日志并未被完全停止,系统后台的停止任务仍在进行。您可以调用`DescribeFlowlogs`接口查询流日志的状态。'."\n" + ."\n" + .'- 当流日志处于**Modifying**状态时,表示流日志正在被停止,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .'- 当流日志处于**Inactive**状态时,表示流日志已被停止。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTagResources' => [ + 'summary' => '查询云企业网实例绑定的标签信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'**Cen**,表示云企业网实例。'."\n" + ."\n" + .'**BandwidthPackage**,表示带宽包实例。'."\n" + ."\n" + .'**TransitRouter**,表示转发路由器实例。'."\n" + ."\n" + .'**TransitRouterVpcAttachment**,表示Vpc连接实例。'."\n" + ."\n" + .'**TransitRouterVbrAttachment**,表示Vbr连接实例。'."\n" + ."\n" + .'**TransitRouterPeerAttachment**,表示跨地域连接实例。'."\n" + ."\n" + .'**TransitRouterVpnAttachment**,表示Vpn连接实例。'."\n" + ."\n" + .'**TransitRouterRouteTable**,表示路由表实例。'."\n" + ."\n" + .'**Flowlog**,表示Flowlog实例。'."\n" + ."\n" + .'**TransitRouterMulticastDomain**,表示组播域实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每批次显示的条目数。取值范围:**1**~**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '云企业网实例ID。'."\n" + ."\n" + .'一次最多支持输入20个云企业网实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '云企业网实例ID。'."\n" + ."\n" + .'一次最多支持输入20个云企业网实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-8z69wtwqel33lq****', + ], + 'required' => false, + 'example' => 'cen-8z69wtwqel33lq****', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '云企业网实例的标签信息。'."\n" + ."\n" + .'一次最多支持查询20个标签。', + 'type' => 'array', + 'items' => [ + 'description' => '云企业网实例的标签信息。'."\n" + ."\n" + .'一次最多支持查询20个标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。'."\n" + ."\n" + .'一个标签键最多支持输入64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Value' => [ + 'description' => '标签值。'."\n" + ."\n" + .'一个标签值最多支持输入128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签值。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Bp', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源实例所属地域ID。'."\n" + ."\n" + .'当资源类型为Cen和BandwidthPackage不需要填写,其余类型必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + ."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '165B5C86-2033-5954-A89D-4CD83BA06C85', + ], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => '资源及标签信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'**Cen**,表示云企业网实例。'."\n" + ."\n" + .'**BandwidthPackage**,表示带宽包实例。'."\n" + ."\n" + .'**TransitRouter**,表示转发路由器实例。'."\n" + ."\n" + .'**TransitRouterVpcAttachment**,表示Vpc连接实例。'."\n" + ."\n" + .'**TransitRouterVbrAttachment**,表示Vbr连接实例。'."\n" + ."\n" + .'**TransitRouterPeerAttachment**,表示跨地域连接实例。'."\n" + ."\n" + .'**TransitRouterVpnAttachment**,表示Vpn连接实例。'."\n" + ."\n" + .'**TransitRouterRouteTable**,表示路由表实例。'."\n" + ."\n" + .'**Flowlog**,表示Flowlog实例。'."\n" + ."\n" + .'**TransitRouterMulticastDomain**,表示组播域实例。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'Bp', + ], + 'ResourceId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-8z69wtwqel33lq****', + ], + 'TagKey' => [ + 'description' => '标签键。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '查询CEN实例已经绑定的标签列表', + 'description' => '在调用ListTagResources接口时,请求参数**ResourceId.N**和**Tag.N.Key**至少选择输入一个:'."\n" + ."\n" + .'- 如果只输入**ResourceId.N**,表示要查询指定云企业网实例下已经绑定的标签信息。'."\n" + .'- 如果只输入**Tag.N.Key**,表示要查询已绑定此标签键的所有云企业网实例的信息。'."\n" + .'- 如果同时输入**ResourceId.N**和**Tag.N.Key**,表示要查询指定云企业网实例下绑定的指定标签的信息。'."\n" + .' - 请确保**ResourceId.N**和**Tag.N.Key**的值相互对应,如果不对应,则返回结果为空。'."\n" + .' - 如果同时输入了多个标签键,则多个标签键之间为**与**的关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'TagResources' => [ + 'summary' => '为资源创建并绑定标签。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'**Cen**,表示云企业网实例。'."\n" + ."\n" + .'**BandwidthPackage**,表示带宽包实例。'."\n" + ."\n" + .'**TransitRouter**,表示转发路由器实例。'."\n" + ."\n" + .'**TransitRouterVpcAttachment**,表示Vpc连接实例。'."\n" + ."\n" + .'**TransitRouterVbrAttachment**,表示Vbr连接实例。'."\n" + ."\n" + .'**TransitRouterPeerAttachment**,表示跨地域连接实例。'."\n" + ."\n" + .'**TransitRouterVpnAttachment**,表示Vpn连接实例。'."\n" + ."\n" + .'**TransitRouterRouteTable**,表示路由表实例。'."\n" + ."\n" + .'**Flowlog**,表示Flowlog实例。'."\n" + ."\n" + .'**TransitRouterMulticastDomain**,表示组播域实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'enumValueTitles' => [], + 'example' => 'cen', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源列表。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。'."\n" + ."\n" + .'支持输入多个资源ID。**N**的取值范围:**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-pfa6ugf3xl0qsd****', + ], + 'required' => true, + 'docRequired' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。'."\n" + ."\n" + .'支持输入多个标签键。**N**的取值范围:**1**~**20**。'."\n" + ."\n" + .'标签键最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。'."\n" + ."\n" + .'每一个标签键对应一个标签值。**N**的取值范围:**1**~**20**。'."\n" + ."\n" + .'标签值最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TagValue', + ], + ], + 'required' => true, + 'docRequired' => true, + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源实例所属地域ID。'."\n" + ."\n" + .'当资源类型为Cen和BandwidthPackage不需要填写,其余类型必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '为指定的实例创建并绑定标签', + 'description' => '- 标签由标签键和标签值组成。添加标签时,标签键和标签值为必填项。'."\n" + .'- 如果要为一个云企业网实例添加多个标签,则该实例下多个标签的标签键不能重复。'."\n" + .'- 一个云企业网实例最多可绑定20个标签。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UntagResources' => [ + 'summary' => '为资源解绑标签。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'**Cen**,表示云企业网实例。'."\n" + ."\n" + .'**BandwidthPackage**,表示带宽包实例。'."\n" + ."\n" + .'**TransitRouter**,表示转发路由器实例。'."\n" + ."\n" + .'**TransitRouterVpcAttachment**,表示Vpc连接实例。'."\n" + ."\n" + .'**TransitRouterVbrAttachment**,表示Vbr连接实例。'."\n" + ."\n" + .'**TransitRouterPeerAttachment**,表示跨地域连接实例。'."\n" + ."\n" + .'**TransitRouterVpnAttachment**,表示Vpn连接实例。'."\n" + ."\n" + .'**TransitRouterRouteTable**,表示路由表实例。'."\n" + ."\n" + .'**Flowlog**,表示Flowlog实例。'."\n" + ."\n" + .'**TransitRouterMulticastDomain**,表示组播域实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cen', + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'description' => '是否删除全部标签。取值:'."\n" + .'- **true** :是'."\n" + .'- **false**(默认值):否'."\n" + ."\n" + .'> 仅针对**TagKey.N**为空时生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。**N**的取值范围为**1**~**50**。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。**N**的取值范围为**1**~**50**。', + 'type' => 'string', + 'required' => false, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + 'required' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签键。'."\n" + ."\n" + .'标签键最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'如果您同时输入了多个标签键,各个标签键之间为**或**的关系。**N**的取值范围:**1**~**20**。', + 'type' => 'array', + 'items' => [ + 'description' => '标签键。'."\n" + ."\n" + .'标签键最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'如果您同时输入了多个标签键,各个标签键之间为**或**的关系。**N**的取值范围:**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'Name', + ], + 'required' => false, + 'example' => 'FinanceDept', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源实例所属地域ID。'."\n" + ."\n" + .'当资源类型为Cen和BandwidthPackage不需要填写,其余类型必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0 ', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => '为指定的资源列表统一解绑并删除标签', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'ap-southeast-8-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'rus-west-1', + 'endpoint' => 'cbn-share.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'us-east-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-guangzhou', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'sa-east-1-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu-test-5', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-cloudspe', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wuhan-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'me-central-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu-test-2', + 'endpoint' => 'cbn-test-pre.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-ant', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-qingdao', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou-spe', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-south-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote-test-3', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote-nebula-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wuhan', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-3', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-nantong', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-finance-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-onebox-nebula', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-qingdao-acdr-ut-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu-test-6', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu-ant', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-taiyuan', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-7-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-taiwan-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'rus-west-1-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-xian', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'eu-west-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-6', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'rsa-north-1-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-internal-test-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-internal-test-2', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-north-2-gov-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-acdr-ut-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-2', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu-acdr-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen-finance-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-internal-test-3', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-6-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-2-pop', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu-smarthosting-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote-test-4', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'cbn.aliyuncs.com', + ], + [ + 'regionId' => 'na-south-1', + 'endpoint' => 'cbn.aliyuncs.com', + ], + ], +]; |
