From 7347bac4ab7e136157fc94777e6cf87ef9e08599 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Fri, 13 Feb 2026 10:54:11 +0800 Subject: first commit --- data/zh_cn/vpc/2016-04-28/api-docs.php | 100603 ++++++++++++++++++++++++++++++ 1 file changed, 100603 insertions(+) create mode 100644 data/zh_cn/vpc/2016-04-28/api-docs.php (limited to 'data/zh_cn/vpc') diff --git a/data/zh_cn/vpc/2016-04-28/api-docs.php b/data/zh_cn/vpc/2016-04-28/api-docs.php new file mode 100644 index 0000000..42c2477 --- /dev/null +++ b/data/zh_cn/vpc/2016-04-28/api-docs.php @@ -0,0 +1,100603 @@ + '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'Vpc', + 'version' => '2016-04-28', + ], + 'directories' => [ + [ + 'id' => 78567, + 'title' => '专有网络(VPC)', + 'type' => 'directory', + 'children' => [ + 'CreateVpc', + 'CreateDefaultVpc', + 'GrantInstanceToCen', + 'AssociateVpcCidrBlock', + 'AllocateVpcIpv6Cidr', + 'DeleteVpc', + 'RevokeInstanceFromCen', + 'UnassociateVpcCidrBlock', + 'ModifyVpcAttribute', + 'EnableVpcClassicLink', + 'DisableVpcClassicLink', + 'DeletionProtection', + 'DescribeVpcs', + 'DescribeVpcAttribute', + 'DescribeGrantRulesToCen', + ], + ], + [ + 'id' => 78582, + 'title' => '路由器', + 'type' => 'directory', + 'children' => [ + 'ModifyVRouterAttribute', + 'DescribeVRouters', + ], + ], + [ + 'id' => 78605, + 'title' => ' 交换机', + 'type' => 'directory', + 'children' => [ + 'ListVSwitchCidrReservations', + 'CreateVSwitchCidrReservation', + 'GetVSwitchCidrReservationUsage', + 'ModifyVSwitchCidrReservationAttribute', + 'CreateVSwitch', + 'CreateDefaultVSwitch', + 'CheckCanAllocateVpcPrivateIpAddress', + 'DeleteVSwitch', + 'ModifyVSwitchAttribute', + 'DescribeVSwitches', + 'DescribeVSwitchAttributes', + 'DeleteVSwitchCidrReservation', + ], + ], + [ + 'id' => 78549, + 'title' => '路由表', + 'type' => 'directory', + 'children' => [ + 'CreateRouteEntry', + 'CreateRouteEntries', + 'CreateRouteTable', + 'AssociateRouteTable', + 'DeleteRouteEntry', + 'DeleteRouteEntries', + 'DeleteRouteTable', + 'UnassociateRouteTable', + 'ModifyRouteTableAttributes', + 'ModifyRouteEntry', + 'GetVpcRouteEntrySummary', + 'DescribeRouteTables', + 'DescribeRouteEntryList', + 'DescribeRouteTableList', + 'ListVpcPublishedRouteEntries', + 'PublishVpcRouteEntries', + 'WithdrawVpcPublishedRouteEntries', + 'ListGatewayRouteTableEntries', + 'AssociateRouteTableWithGateway', + 'DissociateRouteTableFromGateway', + 'UpdateGatewayRouteTableEntryAttribute', + ], + ], + [ + 'id' => 185113, + 'title' => '前缀列表', + 'type' => 'directory', + 'children' => [ + 'CreateVpcPrefixList', + 'RetryVpcPrefixListAssociation', + 'DeleteVpcPrefixList', + 'ModifyVpcPrefixList', + 'ListPrefixLists', + 'GetVpcPrefixListAssociations', + 'GetVpcPrefixListEntries', + ], + ], + [ + 'id' => 78655, + 'title' => 'DHCP选项集', + 'type' => 'directory', + 'children' => [ + 'CreateDhcpOptionsSet', + 'DeleteDhcpOptionsSet', + 'AttachDhcpOptionsSetToVpc', + 'DetachDhcpOptionsSetFromVpc', + 'ReplaceVpcDhcpOptionsSet', + 'UpdateDhcpOptionsSetAttribute', + 'GetDhcpOptionsSet', + 'ListDhcpOptionsSets', + ], + ], + [ + 'id' => 78492, + 'title' => '流日志', + 'type' => 'directory', + 'children' => [ + 'OpenFlowLogService', + 'CreateFlowLog', + 'DeleteFlowLog', + 'ModifyFlowLogAttribute', + 'ActiveFlowLog', + 'DeactiveFlowLog', + 'GetFlowLogServiceStatus', + 'DescribeFlowLogs', + ], + ], + [ + 'id' => 78422, + 'title' => '网络ACL', + 'type' => 'directory', + 'children' => [ + 'AssociateNetworkAcl', + 'CreateNetworkAcl', + 'CopyNetworkAclEntries', + 'DeleteNetworkAcl', + 'UnassociateNetworkAcl', + 'ModifyNetworkAclAttributes', + 'UpdateNetworkAclEntries', + 'DescribeNetworkAclAttributes', + 'DescribeNetworkAcls', + ], + ], + [ + 'id' => 78415, + 'title' => '高可用虚拟IP', + 'type' => 'directory', + 'children' => [ + 'CreateHaVip', + 'AssociateHaVip', + 'DeleteHaVip', + 'UnassociateHaVip', + 'ModifyHaVipAttribute', + 'DescribeHaVips', + ], + ], + [ + 'id' => 78730, + 'title' => '流量镜像', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 78731, + 'title' => '流量镜像过滤器规则', + 'type' => 'directory', + 'children' => [ + 'CreateTrafficMirrorFilterRules', + 'DeleteTrafficMirrorFilterRules', + 'UpdateTrafficMirrorFilterRuleAttribute', + ], + ], + [ + 'id' => 78735, + 'title' => '流量镜像过滤器', + 'type' => 'directory', + 'children' => [ + 'CreateTrafficMirrorFilter', + 'DeleteTrafficMirrorFilter', + 'UpdateTrafficMirrorFilterAttribute', + 'ListTrafficMirrorFilters', + ], + ], + [ + 'id' => 78740, + 'title' => '流量镜像会话', + 'type' => 'directory', + 'children' => [ + 'AddSourcesToTrafficMirrorSession', + 'CreateTrafficMirrorSession', + 'DeleteTrafficMirrorSession', + 'UpdateTrafficMirrorSessionAttribute', + 'ListTrafficMirrorSessions', + 'RemoveSourcesFromTrafficMirrorSession', + ], + ], + 'OpenTrafficMirrorService', + 'GetTrafficMirrorServiceStatus', + ], + ], + [ + 'id' => 362347, + 'title' => '路由目标组', + 'type' => 'directory', + 'children' => [ + 'SwitchActiveRouteTarget', + 'UpdateRouteTargetGroup', + 'ListRouteTargetGroups', + 'GetRouteTargetGroup', + 'DeleteRouteTargetGroup', + 'CreateRouteTargetGroup', + ], + ], + [ + 'id' => 78505, + 'title' => '弹性公网IP', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 201216, + 'title' => 'EIP实例', + 'type' => 'directory', + 'children' => [ + 'AllocateEipAddress', + 'AllocateEipAddressPro', + 'ReleaseEipAddress', + 'ModifyEipAddressAttribute', + 'DescribeEipAddresses', + 'DescribeEipGatewayInfo', + 'AllocateEipSegmentAddress', + 'DescribeEipSegment', + 'ReleaseEipSegmentAddress', + 'ModifyEipForwardMode', + ], + ], + [ + 'id' => 201217, + 'title' => '绑定与解绑', + 'type' => 'directory', + 'children' => [ + 'AssociateEipAddress', + 'AssociateEipAddressBatch', + 'UnassociateEipAddress', + ], + ], + [ + 'id' => 201218, + 'title' => 'IP地址池', + 'type' => 'directory', + 'children' => [ + 'CreatePublicIpAddressPool', + 'OpenPublicIpAddressPoolService', + 'AddPublicIpAddressPoolCidrBlock', + 'TransformEipSegmentToPublicIpAddressPool', + 'DeletePublicIpAddressPool', + 'DeletePublicIpAddressPoolCidrBlock', + 'UpdatePublicIpAddressPoolAttribute', + 'ListPublicIpAddressPools', + 'ListPublicIpAddressPoolCidrBlocks', + 'GetPublicIpAddressPoolServiceStatus', + ], + ], + [ + 'id' => 201219, + 'title' => '监控', + 'type' => 'directory', + 'children' => [ + 'DescribeEipMonitorData', + 'SetHighDefinitionMonitorLogStatus', + 'DescribeHighDefinitionMonitorLogAttribute', + ], + ], + [ + 'id' => 201220, + 'title' => '其他', + 'type' => 'directory', + 'children' => [ + 'DescribePublicIpAddress', + ], + ], + ], + ], + [ + 'id' => 78525, + 'title' => '共享带宽', + 'type' => 'directory', + 'children' => [ + 'CreateCommonBandwidthPackage', + 'AddCommonBandwidthPackageIp', + 'AddCommonBandwidthPackageIps', + 'RemoveCommonBandwidthPackageIp', + 'DeleteCommonBandwidthPackage', + 'ModifyCommonBandwidthPackageAttribute', + 'ModifyCommonBandwidthPackageSpec', + 'DescribeCommonBandwidthPackages', + 'ModifyCommonBandwidthPackageIpBandwidth', + 'CancelCommonBandwidthPackageIpBandwidth', + 'Describe95Traffic', + ], + ], + [ + 'id' => 78472, + 'title' => '物理专线', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 78563, + 'title' => '共享专线', + 'type' => 'directory', + 'children' => [ + 'CreateVirtualPhysicalConnection', + 'UpdateVirtualPhysicalConnection', + 'ListVirtualPhysicalConnections', + ], + ], + 'OpenPhysicalConnectionService', + 'CreatePhysicalConnection', + 'ApplyPhysicalConnectionLOA', + 'SecondApplyPhysicalConnectionLOA', + 'CreatePhysicalConnectionSetupOrder', + 'CreatePhysicalConnectionOccupancyOrder', + 'CreateHighReliablePhysicalConnection', + 'CreateVpconnFromVbr', + 'DeletePhysicalConnection', + 'CancelPhysicalConnection', + 'ModifyPhysicalConnectionAttribute', + 'EnablePhysicalConnection', + 'TerminatePhysicalConnection', + 'RecoverPhysicalConnection', + 'AttachVbrToVpconn', + 'GetPhysicalConnectionServiceStatus', + 'DescribeAccessPoints', + 'ConfirmPhysicalConnection', + 'DescribePhysicalConnections', + 'ListPhysicalConnectionFeatures', + 'CompletePhysicalConnectionLOA', + 'DescribePhysicalConnectionLOA', + 'ListGeographicSubRegions', + 'ListBusinessRegions', + 'ListBusinessAccessPoints', + ], + ], + [ + 'id' => 186880, + 'title' => '故障演练', + 'type' => 'directory', + 'children' => [ + 'CreateFailoverTestJob', + 'StartFailoverTestJob', + 'StopFailoverTestJob', + 'UpdateFailoverTestJob', + 'DeleteFailoverTestJob', + 'DescribeFailoverTestJob', + 'DescribeFailoverTestJobs', + ], + ], + [ + 'id' => 189661, + 'title' => 'QoS策略', + 'type' => 'directory', + 'children' => [ + 'DescribeExpressConnectTrafficQosRule', + 'DescribeExpressConnectTrafficQosQueue', + 'DescribeExpressConnectTrafficQos', + 'DeleteExpressConnectTrafficQosQueue', + 'DeleteExpressConnectTrafficQos', + 'DeleteExpressConnectTrafficQosRule', + 'ModifyExpressConnectTrafficQos', + 'ModifyExpressConnectTrafficQosQueue', + 'ModifyExpressConnectTrafficQosRule', + 'CreateExpressConnectTrafficQos', + 'CreateExpressConnectTrafficQosQueue', + 'CreateExpressConnectTrafficQosRule', + ], + ], + [ + 'id' => 78592, + 'title' => '边界路由器', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 78726, + 'title' => 'VBR倒换组', + 'type' => 'directory', + 'children' => [ + 'CreateVbrHa', + 'DeleteVbrHa', + 'DescribeVbrHa', + ], + ], + 'AssociatePhysicalConnectionToVirtualBorderRouter', + 'CreateVirtualBorderRouter', + 'DeleteVirtualBorderRouter', + 'UnassociatePhysicalConnectionFromVirtualBorderRouter', + 'UpdateVirtualBorderBandwidth', + 'ModifyVirtualBorderRouterAttribute', + 'TerminateVirtualBorderRouter', + 'RecoverVirtualBorderRouter', + 'DescribeVirtualBorderRouters', + 'DescribeGrantRulesToEcr', + 'DescribeVirtualBorderRoutersForPhysicalConnection', + ], + ], + [ + 'id' => 78669, + 'title' => 'BGP', + 'type' => 'directory', + 'children' => [ + 'AddBgpNetwork', + 'CreateBgpGroup', + 'CreateBgpPeer', + 'DeleteBgpGroup', + 'DeleteBgpNetwork', + 'DeleteBgpPeer', + 'ModifyBgpGroupAttribute', + 'ModifyBgpPeerAttribute', + 'DescribeBgpGroups', + 'DescribeBgpNetworks', + 'DescribeBgpPeers', + ], + ], + [ + 'id' => 78447, + 'title' => 'NAT', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 187842, + 'title' => 'Nat网关', + 'type' => 'directory', + 'children' => [ + 'CreateNatGateway', + 'DeleteNatGateway', + 'ModifyNatGatewayAttribute', + 'ModifyNatGatewaySpec', + 'DescribeNatGateways', + 'GetNatGatewayAttribute', + 'ListEnhanhcedNatGatewayAvailableZones', + 'UpdateNatGatewayNatType', + 'DescribeNatGatewayAssociateNetworkInterfaces', + 'VpcDescribeVpcNatGatewayNetworkInterfaceQuota', + ], + ], + [ + 'id' => 78625, + 'title' => 'SNAT规则', + 'type' => 'directory', + 'children' => [ + 'CreateSnatEntry', + 'DeleteSnatEntry', + 'ModifySnatEntry', + 'DescribeSnatTableEntries', + ], + ], + [ + 'id' => 78620, + 'title' => 'DNAT规则', + 'type' => 'directory', + 'children' => [ + 'CreateForwardEntry', + 'DeleteForwardEntry', + 'ModifyForwardEntry', + 'DescribeForwardTableEntries', + ], + ], + [ + 'id' => 78664, + 'title' => 'FullNAT规则', + 'type' => 'directory', + 'children' => [ + 'CreateFullNatEntry', + 'DeleteFullNatEntry', + 'ModifyFullNatEntryAttribute', + 'ListFullNatEntries', + ], + ], + [ + 'id' => 187843, + 'title' => 'NatIp管理', + 'type' => 'directory', + 'children' => [ + [ + 'id' => 78716, + 'title' => 'NatIp', + 'type' => 'directory', + 'children' => [ + 'CreateNatIp', + 'DeleteNatIp', + 'ModifyNatIpAttribute', + 'ListNatIps', + ], + ], + [ + 'id' => 78717, + 'title' => 'NatIpCidr', + 'type' => 'directory', + 'children' => [ + 'CreateNatIpCidr', + 'DeleteNatIpCidr', + 'ModifyNatIpCidrAttribute', + 'ListNatIpCidrs', + ], + ], + ], + ], + ], + ], + [ + 'id' => 185179, + 'title' => 'IPv4网关', + 'type' => 'directory', + 'children' => [ + 'CreateIpv4Gateway', + 'DeleteIpv4Gateway', + 'EnableVpcIpv4Gateway', + 'UpdateIpv4GatewayAttribute', + 'ListIpv4Gateways', + 'GetIpv4GatewayAttribute', + ], + ], + [ + 'id' => 78439, + 'title' => 'VPN网关', + 'type' => 'directory', + 'children' => [ + 'CreateVpnGateway', + 'AssociateVpnGatewayWithCertificate', + 'DeleteVpnGateway', + 'DissociateVpnGatewayWithCertificate', + 'ModifyVpnGatewayAttribute', + 'MoveVpnResourceGroup', + 'DescribeVpnGateway', + 'DescribeVpnGateways', + 'ListVpnCertificateAssociations', + 'DiagnoseVpnGateway', + 'GetVpnGatewayDiagnoseResult', + 'DescribeVpnGatewayAvailableZones', + ], + ], + [ + 'id' => 78460, + 'title' => '用户网关', + 'type' => 'directory', + 'children' => [ + 'CreateCustomerGateway', + 'DeleteCustomerGateway', + 'ModifyCustomerGatewayAttribute', + 'DescribeCustomerGateway', + 'DescribeCustomerGateways', + ], + ], + [ + 'id' => 78681, + 'title' => '绑定VPN网关实例', + 'type' => 'directory', + 'children' => [ + 'CreateVpnConnection', + 'DeleteVpnConnection', + 'ModifyVpnConnectionAttribute', + 'ModifyTunnelAttribute', + 'DescribeVpnConnection', + 'DescribeVpnConnections', + 'DownloadVpnConnectionConfig', + 'DescribeVpnConnectionLogs', + 'DiagnoseVpnConnections', + [ + 'id' => 78648, + 'title' => '目的路由', + 'type' => 'directory', + 'children' => [ + 'CreateVpnRouteEntry', + 'PublishVpnRouteEntry', + 'DeleteVpnRouteEntry', + 'ModifyVpnRouteEntryWeight', + 'DescribeVpnRouteEntries', + ], + ], + [ + 'id' => 78643, + 'title' => '策略路由', + 'type' => 'directory', + 'children' => [ + 'CreateVpnPbrRouteEntry', + 'DeleteVpnPbrRouteEntry', + 'ModifyVpnPbrRouteEntryWeight', + 'ModifyVpnPbrRouteEntryPriority', + 'ModifyVpnPbrRouteEntryAttribute', + 'DescribeVpnPbrRouteEntries', + ], + ], + ], + ], + [ + 'id' => 184668, + 'title' => '绑定转发路由器实例', + 'type' => 'directory', + 'children' => [ + 'CreateVpnAttachment', + 'CreateVcoRouteEntry', + 'DeleteVpnAttachment', + 'DeleteVcoRouteEntry', + 'ModifyVpnAttachmentAttribute', + 'ModifyVcoRouteEntryWeight', + 'DescribeVpnAttachments', + 'DescribeVcoRouteEntries', + 'CheckVpnBgpEnabled', + 'DescribeVpnCrossAccountAuthorizations', + ], + ], + [ + 'id' => 78637, + 'title' => 'SSL客户端', + 'type' => 'directory', + 'children' => [ + 'CreateSslVpnClientCert', + 'DeleteSslVpnClientCert', + 'ModifySslVpnClientCert', + 'DescribeSslVpnClientCerts', + 'DescribeSslVpnClientCert', + 'DescribeSslVpnClients', + ], + ], + [ + 'id' => 78631, + 'title' => 'SSL服务端', + 'type' => 'directory', + 'children' => [ + 'CreateSslVpnServer', + 'DeleteSslVpnServer', + 'ModifySslVpnServer', + 'DescribeSslVpnServers', + 'DescribeVpnSslServerLogs', + ], + ], + [ + 'id' => 184659, + 'title' => 'IPsec服务端', + 'type' => 'directory', + 'children' => [ + 'CreateIpsecServer', + 'DeleteIpsecServer', + 'UpdateIpsecServer', + 'ListIpsecServers', + 'ListIpsecServerLogs', + ], + ], + [ + 'id' => 78692, + 'title' => 'IPv6网关', + 'type' => 'directory', + 'children' => [ + 'AllocateIpv6Address', + 'ReleaseIpv6Address', + 'CreateIpv6Gateway', + 'CreateIpv6EgressOnlyRule', + 'DeleteIpv6Gateway', + 'DeleteIpv6EgressOnlyRule', + 'DeleteIpv6InternetBandwidth', + 'ModifyIpv6InternetBandwidth', + 'ModifyIpv6GatewayAttribute', + 'ModifyIpv6AddressAttribute', + 'DescribeIpv6Gateways', + 'DescribeIpv6EgressOnlyRules', + 'DescribeIpv6Addresses', + 'DescribeIpv6GatewayAttribute', + 'AllocateIpv6InternetBandwidth', + ], + ], + [ + 'id' => 185180, + 'title' => 'IPv6转换服务', + 'type' => 'directory', + 'children' => [ + 'CreateIPv6TranslatorAclList', + 'CreateIPv6TranslatorEntry', + 'AddIPv6TranslatorAclListEntry', + 'CreateIPv6Translator', + 'DeleteIPv6TranslatorAclList', + 'DeleteIPv6TranslatorEntry', + 'DeleteIPv6Translator', + 'ModifyIPv6TranslatorAclListEntry', + 'ModifyIPv6TranslatorAclAttribute', + 'ModifyIPv6TranslatorBandwidth', + 'ModifyIPv6TranslatorAttribute', + 'ModifyIPv6TranslatorEntry', + 'DescribeIPv6TranslatorAclLists', + 'DescribeIPv6TranslatorAclListAttributes', + 'DescribeIPv6Translators', + 'DescribeIPv6TranslatorEntries', + 'RemoveIPv6TranslatorAclListEntry', + ], + ], + [ + 'id' => 78391, + 'title' => '地域', + 'type' => 'directory', + 'children' => [ + 'DescribeRegions', + 'DescribeZones', + ], + ], + [ + 'id' => 78385, + 'title' => '标签', + 'type' => 'directory', + 'children' => [ + 'TagResources', + 'TagResourcesForExpressConnect', + 'UnTagResources', + 'UntagResourcesForExpressConnect', + 'ListTagResources', + 'DescribeTags', + 'DescribeTagKeys', + 'ListTagResourcesForExpressConnect', + 'DescribeTagKeysForExpressConnect', + ], + ], + [ + 'id' => 78583, + 'title' => '路由器接口', + 'type' => 'directory', + 'children' => [ + 'CreateRouterInterface', + 'DeleteRouterInterface', + 'DeleteExpressConnect', + 'ModifyRouterInterfaceAttribute', + 'ModifyRouterInterfaceSpec', + 'DescribeRouterInterfaces', + 'DescribeEcGrantRelation', + 'DescribeRouterInterfaceAttribute', + 'DeactivateRouterInterface', + 'GrantInstanceToVbr', + 'ActivateRouterInterface', + 'RevokeInstanceFromVbr', + 'ConnectRouterInterface', + ], + ], + [ + 'id' => 78466, + 'title' => '高速上云服务', + 'type' => 'directory', + 'children' => [ + 'CreateExpressCloudConnection', + 'ModifyExpressCloudConnectionAttribute', + 'ModifyExpressCloudConnectionBandwidth', + ], + ], + [ + 'id' => 78394, + 'title' => '全球加速实例', + 'type' => 'directory', + 'children' => [ + 'CreateGlobalAccelerationInstance', + 'AddGlobalAccelerationInstanceIp', + 'DeleteGlobalAccelerationInstance', + 'UnassociateGlobalAccelerationInstance', + 'ModifyGlobalAccelerationInstanceAttributes', + 'ModifyGlobalAccelerationInstanceSpec', + 'DescribeGlobalAccelerationInstances', + 'DescribeServerRelatedGlobalAccelerationInstances', + 'RemoveGlobalAccelerationInstanceIp', + ], + ], + [ + 'id' => 78499, + 'title' => '网关终端节点', + 'type' => 'directory', + 'children' => [ + 'CreateVpcGatewayEndpoint', + 'DeleteVpcGatewayEndpoint', + 'UpdateVpcGatewayEndpointAttribute', + 'ListVpcEndpointServicesByEndUser', + 'GetVpcGatewayEndpointAttribute', + 'ListVpcGatewayEndpoints', + 'AssociateRouteTablesWithVpcGatewayEndpoint', + 'DissociateRouteTablesFromVpcGatewayEndpoint', + ], + ], + [ + 'id' => 185233, + 'title' => '资源组', + 'type' => 'directory', + 'children' => [ + 'MoveResourceGroup', + 'ChangeResourceGroup', + ], + ], + [ + 'id' => 275485, + 'title' => '其他', + 'type' => 'directory', + 'children' => [ + 'DescribeVpcGrantRulesToEcr', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'CreateVpc' => [ + 'summary' => '创建一个专有网络VPC。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37646', + 'abilityTreeNodes' => [ + 'FEATUREvpcK3NXU2', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的网段。'."\n" + ."\n" + .'- 建议您使用RFC 1918标准中指定的私有IPv4地址作为VPC的主IPv4网段,网段掩码推荐使用16~28位。例如:10.0.0.0/16、172.16.0.0/16、192.168.0.0/16。'."\n" + .'- 您也可以使用除100.64.0.0/10、224.0.0.0/4、127.0.0.0/8或169.254.0.0/16及其子网外的自定义地址段作为专有网络的主IPv4网段。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.0.0/12', + 'default' => '172.16.0.0/12', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的IPv6网段。为VPC开启IPv6时,系统将分配IPv6网段。如需指定IPv6网段,您需要先调用[AllocateVpcIpv6Cidr](~~448916~~)接口预留指定的IPv6地址段,并将其传入。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:0:6a::/56', + ], + ], + [ + 'name' => 'VpcName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的名称。'."\n" + ."\n" + .'长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'EnableIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启IPv6。取值:'."\n" + ."\n" + .'- **false**(默认值):不开启。'."\n" + .'- **true**:开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的描述信息。'."\n" + ."\n" + .'长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my first Vpc', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建VPC。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接创建VPC。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网段,如需定义多个网段请使用半角逗号(,)隔开,最多支持3个网段。'."\n" + ."\n" + .'关于用户网段的详细信息,请参见[专有网络FAQ](~~185311~~)的`什么是用户网段`。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/12', + ], + ], + [ + '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' => 'Ipv6Isp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的IPv6地址段类型。取值:'."\n" + ."\n" + .'- **BGP**(默认值):阿里云BGP IPv6。'."\n" + .'- **ChinaMobile**:中国移动(单线)。'."\n" + .'- **ChinaUnicom**:中国联通(单线)。'."\n" + .'- **ChinaTelecom**:中国电信(单线)。'."\n" + ."\n" + .'> 如果是开通了单线带宽白名单的用户,该字段可以设置为**ChinaTelecom**(中国电信)、**ChinaUnicom**(中国联通)或**ChinaMobile**(中国移动)。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Ipv4IpamPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv4类型的IPAM地址池实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipam-pool-sycmt3p2a9v63i****', + ], + ], + [ + 'name' => 'Ipv4CidrMask', + 'in' => 'query', + 'schema' => [ + 'description' => '通过输入掩码的方式从IPAM地址池分配VPC。'."\n" + ."\n" + .'> 指定IPAM地址池创建VPC时,参数CidrBlock或Ipv4CidrMask至少输入一个。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12', + ], + ], + [ + 'name' => 'EnableDnsHostname', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用DNS主机名功能。取值:'."\n" + ."\n" + .'- **false**(默认值):不开启。'."\n" + .'- **true**:开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Ipv6IpamPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6类型的IPAM地址池实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipam-pool-bp1aq51kkfh477z03****', + ], + ], + [ + 'name' => 'Ipv6CidrMask', + 'in' => 'query', + 'schema' => [ + 'description' => '通过输入掩码的方式从IPAM地址池为VPC添加IPv6网段。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '56', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建的VPC的ID。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '创建的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + 'VRouterId' => [ + 'description' => '创建VPC后,系统自动创建的路由器的ID。', + 'type' => 'string', + 'example' => 'vrt-bp1lhl0taikrteen8****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'RouteTableId' => [ + 'description' => '创建VPC后,系统自动创建的路由表的ID。', + 'type' => 'string', + 'example' => 'vtb-bp145q7glnuzdv****', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'TOKEN_PROCESSING', + 'errorMessage' => 'Action is processing.', + ], + [ + 'errorCode' => 'InvokeError', + 'errorMessage' => 'instance quota rule invoke error.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified CIDR block is not valid', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidVpcName.Malformed', + 'errorMessage' => 'Specified VPC name is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcDiscription.Malformed', + 'errorMessage' => 'Specified VPC description is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.Vpc', + 'errorMessage' => 'VPC quota exceeded.', + ], + [ + 'errorCode' => 'ResourceNotAvailable.Vpc', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Quota', + 'errorMessage' => 'Specified UserCidr number is greater than 3.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Malformed', + 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6CidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.IPv6CidrNotReserved', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.EnableIpv6', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6Feature', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'System.ServiceBusy', + 'errorMessage' => 'System is busy, please try later.', + ], + [ + 'errorCode' => 'IllegalParam.UserCidr', + 'errorMessage' => 'UserCidr is not a valid or strict address.', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => 'ResourceGroup is not supported in this region.', + ], + [ + 'errorCode' => 'IllegalParam.EnableIpv6', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIpv6CidrBlock.Malformed', + 'errorMessage' => 'Specified Ipv6CidrBlock is not valid.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv6Isp', + 'errorMessage' => 'The Ipv6Isp feature is not supported.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Ipv6Cidr', + 'errorMessage' => 'The specified resource of Ipv6Cidr is not enough.', + ], + [ + 'errorCode' => 'UnsupportedFeature.IPAM', + 'errorMessage' => 'VPCs cannot be created by using IPAM.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv4CidrMask', + 'errorMessage' => 'The specified Ipv4CidrMask is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.IpamPool', + 'errorMessage' => 'The specified IPAM pool cannot be empty.', + ], + [ + 'errorCode' => 'OperationDenied.RequestRegionInvalid', + 'errorMessage' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.', + ], + [ + 'errorCode' => 'OperationDenied.IpamPoolNotInRegion', + 'errorMessage' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.', + ], + [ + 'errorCode' => 'MissingParam.CidrOrCidrMask', + 'errorMessage' => 'The CIDR or CIDR Mask must be input.', + ], + [ + 'errorCode' => 'OperationDenied.CidrInExcludeCidrs', + 'errorMessage' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.', + ], + [ + 'errorCode' => 'OperationDenied.AvailableCidrInsufficient', + 'errorMessage' => 'The operation is not allowed because available CIDR is insufficient.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipam', + 'errorMessage' => 'IPAM is not supported in this region.', + ], + [ + 'errorCode' => 'OperationDenied.CidrUnavailableInPool', + 'errorMessage' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlockMask', + 'errorMessage' => 'The param of CidrBlock Mask [%s] is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcDnsHostname', + 'errorMessage' => 'The feature of vpc dns hostname is unsupported.', + ], + [ + 'errorCode' => 'OperationDenied.MaskOfCidrIsNotAllowed', + 'errorMessage' => 'The input mask or mask of the input CIDR is not allowed.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6Isp', + 'errorMessage' => 'The specified Ipv6Isp is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrMask', + 'errorMessage' => 'The input CIDR mask is illegal.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.DhcpOptionsSet', + 'errorMessage' => 'The feature of dhcp options set is unsupported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.IpamPool', + 'errorMessage' => 'The dependent IPAM pool is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72zv****\\",\\n \\"VRouterId\\": \\"vrt-bp1lhl0taikrteen8****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"RouteTableId\\": \\"vtb-bp145q7glnuzdv****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vpc-bp15zckdt37pq72zv****\\n vrt-bp1lhl0taikrteen8****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n vtb-bp145q7glnuzdv****\\n rg-acfmxazb4ph6aiy****\\n","errorExample":""}]', + 'title' => '创建一个VPC', + 'description' => '调用该接口创建VPC时,请注意:'."\n" + ."\n" + .'- 一个 VPC 只能指定一个 IPv4 主网段,您可以添加 IPv4 附加网段来扩充网段。'."\n" + ."\n" + .'- VPC 创建后,您可以在原 IPv4 网段内放大或缩小网段。当您缩小 VPC 的 IPv4 网段时,如果有已经使用的 IP 地址在目标网段外,则会修改失败。'."\n" + ."\n" + .'- 每个 VPC 支持云资源使用的私网网络地址数量为 300,000 个,且无法提升配额。'."\n" + .' '."\n" + .'- VPC 创建后,会自动创建一个路由器和一个路由表。'."\n" + .' '."\n" + .'- 每个 VPC 支持三个用户侧网段。如果多个用户侧网段之间存在包含关系,掩码较短的网段实际生效。例如10.0.0.0/16和10.0.0.0/24中,10.0.0.0/16实际生效。 '."\n" + ."\n" + .'- **CreateVpc**接口属于异步接口,即系统会返回一个实例ID,但该VPC尚未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeVpcAttribute](~~94565~~)查询VPC的创建状态:'."\n" + .' - 当VPC处于**Creating**状态时,表示VPC正在创建中。'."\n" + .' - 当VPC处于**Created**状态时,表示VPC创建完成。'."\n" + .'- **CreateVpc**接口支持在同一地域内并发创建非默认VPC,受[配额](~~27750~~)约束。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateDefaultVpc' => [ + 'summary' => '创建一个默认的专有网络VPC。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '默认VPC所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '默认VPC的IPv6网段。'."\n" + ."\n" + .'> 当**EnableIpv6**取值为**true**时,需要输入该参数。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:346:b600::/56', + ], + ], + [ + 'name' => 'EnableIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启IPv6网段。取值:'."\n" + ."\n" + .'- **false**(默认值):不开启。'."\n" + .'- **true**:开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmystnjq4****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建的默认VPC的ID。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '创建的默认VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + 'VRouterId' => [ + 'description' => '创建默认VPC后,系统自动创建的路由器的ID。', + 'type' => 'string', + 'example' => 'vrt-bp1lhl0taikrteen8****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'RouteTableId' => [ + 'description' => '创建默认VPC后,系统自动创建的路由表的ID。', + 'type' => 'string', + 'example' => 'vtb-bp1q1uirugzb1x32m****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'TOKEN_PROCESSING', + 'errorMessage' => 'Action is processing.', + ], + [ + 'errorCode' => 'InvokeError', + 'errorMessage' => 'instance quota rule invoke error.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified CIDR block is not valid', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidVpcName.Malformed', + 'errorMessage' => 'Specified VPC name is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcDiscription.Malformed', + 'errorMessage' => 'Specified VPC description is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.Vpc', + 'errorMessage' => 'VPC quota exceeded.', + ], + [ + 'errorCode' => 'ResourceNotAvailable.Vpc', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Quota', + 'errorMessage' => 'Specified UserCidr number is greater than 3.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Malformed', + 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6CidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.IPv6CidrNotReserved', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.EnableIpv6', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6Feature', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.ZoneId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.DefaultVpcExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72zv****\\",\\n \\"VRouterId\\": \\"vrt-bp1lhl0taikrteen8****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"RouteTableId\\": \\"vtb-bp1q1uirugzb1x32m****\\"\\n}","type":"json"}]', + 'title' => '创建一个默认的VPC', + 'description' => '调用该接口创建默认VPC时,请注意:'."\n" + ."\n" + .'- 默认VPC创建后无法修改网段,但可以添加附加IPv4网段。 '."\n" + ."\n" + .'- 每个默认VPC支持云资源使用的私网网络地址数量为300,000个,且无法提升配额。'."\n" + .' '."\n" + .'- 创建默认VPC后,会自动创建一个路由器和一个路由表。'."\n" + .' '."\n" + .'- 每个默认VPC支持三个用户侧网段。如果多个用户侧网段之间存在包含关系,掩码较短的网段实际生效。例如10.0.0.0/16和10.0.0.0/24中,10.0.0.0/16实际生效。'."\n" + ."\n" + .'- **CreateDefaultVpc**接口属于异步接口,即系统会返回一个实例ID,但该默认VPC尚未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeVpcAttribute](~~94565~~)查询默认VPC的创建状态:'."\n" + .' - 当默认VPC处于**Pending**状态时,表示默认VPC正在配置中。'."\n" + .' - 当默认VPC处于**Available**状态时,表示默认VPC可用。'."\n" + .'- **CreateDefaultVpc**接口不支持在同一地域内并发创建默认VPC。'."\n" + .'- 一个地域当前只能有一个默认VPC。', + ], + 'GrantInstanceToCen' => [ + 'summary' => '为云企业网实例授权。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-uf6o8d1dj8sjwxi6o****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。', + 'type' => 'string', + 'required' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定要授权的云企业网实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'CenOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定要授权的云企业网实例所属账号的UID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'Current Instance status does not support this operation.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'MissingParam.CenInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.CenInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Invalid.Grant', + 'errorMessage' => 'Can not grant to other owner cen.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'Specified Instance does not exist.', + ], + [ + 'errorCode' => 'InstanceType.Invalid', + 'errorMessage' => 'Specified type is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.CbnGrantRules', + 'errorMessage' => 'cbn grantRules per instance quota exceed', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbr.NotFound', + 'errorMessage' => 'Specified vbr does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', + 'title' => '为云企业网实例授权', + 'description' => '- 在加载其他阿里云账号(主账号)的网络实例前,需要在网络实例所在的阿里云账号下为云企业网实例授权。'."\n" + ."\n" + .'>**GrantInstanceToCen**接口是VPC的API,所以调用该接口需要使用`vpc.aliyuncs.com`域名。API version为`2016-04-28`。 '."\n" + ."\n" + .'- **GrantInstanceToCen**接口不支持在同一个VPC、VBR或者CCN中并发为云企业网实例授权。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateVpcCidrBlock' => [ + 'summary' => '为VPC添加附加网段。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要添加附加网段的VPC所在地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ch-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要添加附加网段的VPC的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-o6wrloqsdqc9io3mg****', + ], + ], + [ + 'name' => 'SecondaryCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '需要添加的附加IPv4网段,网段要求如下:'."\n" + ."\n" + .'- 建议您使用RFC 1918标准中指定的私有IPv4地址作为VPC的附加IPv4网段,网段掩码推荐使用16~28位。例如:10.0.0.0/16、172.16.0.0/16、192.168.0.0/16。'."\n" + .'- 使用除100.64.0.0/10、224.0.0.0/4、127.0.0.0/8、169.254.0.0/16及其子网外的自定义地址段作为专有网络的附加IPv4网段。'."\n" + ."\n" + .'配置限制如下:'."\n" + .'- 不能以0开头,网段掩码推荐使用16~28位。'."\n" + ."\n" + .'- 附加网段不得与VPC主网段及已添加的附加网段重叠。'."\n" + ."\n" + .'> 不通过IPAM地址池为VPC添加附加网段时,参数**SecondaryCidrBlock**和参数**Ipv6CidrBlock**必须输入一个且不能都输入。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/16', + ], + ], + [ + 'name' => 'SecondaryCidrMask', + 'in' => 'query', + 'schema' => [ + 'description' => '通过输入掩码的方式从IPAM地址池为VPC添加附加IPv4网段。'."\n" + ."\n" + .'> 指定IPAM地址池为VPC添加附加IPv4网段时,参数SecondaryCidrBlock或SecondaryCidrMask至少输入一个。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '16', + ], + ], + [ + 'name' => 'IPv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的指定IPv6网段。'."\n" + ."\n" + .'> 参数**SecondaryCidrBlock**和参数**Ipv6CidrBlock**不能都输入。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:0:6a::/56', + ], + ], + [ + 'name' => 'Ipv6Isp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的IPv6地址段类型,取值:'."\n" + ."\n" + .'- **BGP**(默认值):阿里云BGP IPv6。'."\n" + .'- **ChinaMobile**:中国移动(单线)。'."\n" + .'- **ChinaUnicom**:中国联通(单线)。'."\n" + .'- **ChinaTelecom**:中国电信(单线)。'."\n" + ."\n" + .'> 如果是开通了单线带宽白名单的用户,该字段可以设置为**ChinaTelecom**(中国电信)、**ChinaUnicom**(中国联通)和**ChinaMobile**(中国移动)。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址的版本类型。取值:'."\n" + ."\n" + .'- **IPV4**:IPv4地址。'."\n" + .'- **IPV6**:IPv6地址,当**IpVersion**参数输入**IPV6**,**SecondaryCidrBlock**参数不传值时可以为VPC添加附加IPv6网段。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IPV4', + ], + ], + [ + 'name' => 'IpamPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPAM地址池实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipam-pool-sycmt3p2a9v63i****', + ], + ], + [ + 'name' => 'Ipv6CidrMask', + 'in' => 'query', + 'schema' => [ + 'description' => '通过输入掩码的方式从IPAM地址池为VPC添加IPv6网段。'."\n" + ."\n" + .'> 指定IPAM地址池为VPC添加附加IPv6网段时,参数IPv6CidrBlock或Ipv6CidrMask至少输入一个。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '56', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要添加附加网段的VPC所在地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ch-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', + ], + 'CidrBlock' => [ + 'description' => '为VPC添加的附加网段。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'IpVersion' => [ + 'description' => '附加网段的IP地址类型。', + 'type' => 'string', + 'example' => 'IPV4', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVpc.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ParamExclusive.SecondaryCidrAndIpv6Cidr', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.VpcMultiCidr', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.SecondaryCidrOrIpv6Cidr', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.IPv6ULA', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIpv6ULACidrBlock.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceeded.GUAIpv6CidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6CidrType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.OnlyULA', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.SecondaryCidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Duplicated.SecondaryCidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.ConflictWithEntry', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceeded.VpcMultiCidr', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.SecondaryCidrBlockOrIpv6CidrBlock', + 'errorMessage' => 'Either SecondaryCidrBlock or Ipv6CidrBlock must be specified.', + ], + [ + 'errorCode' => 'MissingParam.VpcId', + 'errorMessage' => 'You must specify VpcId.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv6Isp', + 'errorMessage' => 'The Ipv6Isp feature is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.GUAIpv6CidrBlock', + 'errorMessage' => 'The operation is not allowed because this ipv6 CIDR is not reserved.', + ], + [ + 'errorCode' => 'OperationFailed.IPv6CidrNotReserved', + 'errorMessage' => 'Operation failed because this ipv6 cidr is not reserved.', + ], + [ + 'errorCode' => 'InvalidCidrBlock', + 'errorMessage' => 'Specified CIDR block is already exists.', + ], + [ + 'errorCode' => 'IllegalParam.IpamPool', + 'errorMessage' => 'The specified IPAM pool cannot be empty.', + ], + [ + 'errorCode' => 'MissingParam.SecondaryCidrMask', + 'errorMessage' => 'The parameter SecondaryCidrMask must be input.', + ], + [ + 'errorCode' => 'IllegalParam.SecondaryCidrMask', + 'errorMessage' => 'The specified Secondary CIDR Mask is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.RequestRegionInvalid', + 'errorMessage' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.', + ], + [ + 'errorCode' => 'OperationDenied.IpamPoolNotInRegion', + 'errorMessage' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.', + ], + [ + 'errorCode' => 'MissingParam.CidrOrCidrMask', + 'errorMessage' => 'The CIDR or CIDR Mask must be input.', + ], + [ + 'errorCode' => 'OperationDenied.CidrInExcludeCidrs', + 'errorMessage' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.', + ], + [ + 'errorCode' => 'OperationDenied.AvailableCidrInsufficient', + 'errorMessage' => 'The operation is not allowed because available CIDR is insufficient.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipam', + 'errorMessage' => 'IPAM is not supported in this region.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcIpamIpv6', + 'errorMessage' => 'The specified IPAM pool does not support the IPv6 feature.', + ], + [ + 'errorCode' => 'OperationDenied.CidrUnavailableInPool', + 'errorMessage' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.', + ], + [ + 'errorCode' => 'InvalidIpv6CidrBlock.Malformed', + 'errorMessage' => 'Param Ipv6CidrBlock is malformed.', + ], + [ + 'errorCode' => 'MissingParam.IpVersion', + 'errorMessage' => 'The parameter IpVersion is missing.', + ], + [ + 'errorCode' => 'Mismatch.IpVersionAndIpamPoolIpVersion', + 'errorMessage' => 'The input IpVersion is inconsistent with the IpVersion of the input IPAM pool.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6CidrBlock', + 'errorMessage' => 'The parameter of Ipv6CidrBlock is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6CidrBlockOverLapped', + 'errorMessage' => 'The input IPv6 CIDR block overlaps with the existing ones.', + ], + [ + 'errorCode' => 'QuotaExceeded.IPv6CidrBlock', + 'errorMessage' => 'The number of IPv6 CIDR blocks in the VPC exceeds the limit.', + ], + [ + 'errorCode' => 'OperationDenied.MaskOfCidrIsNotAllowed', + 'errorMessage' => 'The input mask or mask of the input CIDR is not allowed.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6Isp', + 'errorMessage' => 'The specified Ipv6Isp is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrMask', + 'errorMessage' => 'The input CIDR mask is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.IpamPool', + 'errorMessage' => 'The dependent IPAM pool is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationFailed.ResourceNotEnough', + 'errorMessage' => 'Insufficient resources.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C1221A1F-2ACD-4592-8F27-474E02883159\\",\\n \\"CidrBlock\\": \\"192.168.0.0/16\\",\\n \\"IpVersion\\": \\"IPV4\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C1221A1F-2ACD-4592-8F27-474E02883159\\n","errorExample":""}]', + 'title' => '为VPC添加附加网段', + 'description' => '- 一个VPC最多支持添加的附加网段个数如下:'."\n" + .' - 一个VPC最多支持添加5个附加IPv4网段。'."\n" + .' - 一个VPC最多支持添加5个附加IPv6网段。'."\n" + ."\n" + .'- **AssociateVpcCidrBlock**接口不支持并发为同一个VPC添加附加网段。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AllocateVpcIpv6Cidr' => [ + 'summary' => '预留指定的IPv6地址段。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Ipv6Isp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的IPv6地址段类型,取值:'."\n" + ."\n" + .'- **BGP**(默认值):BGP(多线)。'."\n" + .'- **BGP_International**:BGP(多线)_国际。'."\n" + .'- **ChinaMobile**:中国移动(单线)。'."\n" + .'- **ChinaUnicom**:中国联通(单线)。'."\n" + .'- **ChinaTelecom**:中国电信(单线)。'."\n" + .'- **ChinaMobile_L2**:中国移动(单线)_L2。'."\n" + .'- **ChinaUnicom_L2**:中国联通(单线)_L2。'."\n" + .'- **ChinaTelecom_L2**:中国电信(单线)_L2。'."\n" + ."\n" + .'> - 如果是开通了对应白名单的用户,该字段可以设置为**ChinaTelecom**(中国电信)、**ChinaUnicom**(中国联通)、**ChinaMobile**(中国移动)、**ChinaTelecom_L2**(中国L2电信)、**ChinaUnicom_L2**(中国L2联通)、**ChinaMobile_L2**(中国L2移动)和**BGP_International**(BGP多线国际)。'."\n" + .'> - 每种类型的IPv6地址段只能预留一个,只有在分配给VPC后,才可以预留下一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AddressPoolType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址池的类型,取值如下:'."\n" + .'- **aliyun**(默认值):系统分配IPv6地址段。'."\n" + .'- **custom**:用户自定义IPv6地址段。', + 'type' => 'string', + 'required' => false, + 'example' => 'custom', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '需要预留的IPv6地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:0:a600::/56', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的信息。', + 'type' => 'object', + 'properties' => [ + 'Ipv6CidrBlock' => [ + 'description' => '预留的IPv6地址段。', + 'type' => 'string', + 'example' => '2408:XXXX:0:a600::/56', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D20C13EA-2584-53BC-8393-69DE6D98EFF1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationUnsupported.Ipv6Feature', + 'errorMessage' => 'The IPv6 feature is not supported in the region.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv6Isp', + 'errorMessage' => 'The Ipv6Isp feature is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.AddressPoolType', + 'errorMessage' => 'The specified addressPoolType is invalid.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Ipv6Cidr', + 'errorMessage' => 'The specified resource ipv6 cidr is not enough.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6Cidr', + 'errorMessage' => 'The specified Ipv6CidrBlock is invalid.', + ], + [ + 'errorCode' => 'Unavailable.Ipv6Cidr', + 'errorMessage' => 'The specified resource ipv6 cidr is not available.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The param of cidrBlock is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/56\\",\\n \\"RequestId\\": \\"D20C13EA-2584-53BC-8393-69DE6D98EFF1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2408:XXXX:0:a600::/56\\n D20C13EA-2584-53BC-8393-69DE6D98EFF1\\n","errorExample":""}]', + 'title' => '预留指定的IPv6地址段', + 'description' => '为VPC分配指定IPv6地址段的流程如下:'."\n" + .'1. 调用本接口预留指定的IPv6地址段。'."\n" + .'2. 为存量VPC分配指定的IPv6地址段时,请调用[AssociateVpcCidrBlock](~~146745~~)接口,设置**RegionId**、**VpcId**、**IPv6CidrBlock**为指定的IPv6地址段,**IpVersion**为**ipv6**;为新建VPC分配指定的IPv6地址段时,请调用[CreateVpc](~~35737~~)接口,设置**RegionId**、**Ipv6CidrBlock**为指定的IPv6地址段、**EnableIpv6**为**true**。', + ], + 'DeleteVpc' => [ + 'summary' => '调用DeleteVpc接口删除一个专有网络VPC(Virtual Private Cloud)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的VPC ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1m7v25emi1h5mtc****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的VPC所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ForceDelete', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除VPC。取值:'."\n" + ."\n" + .'- **true**:强制删除。'."\n" + .'- **false**(默认值):不强制删除。'."\n" + ."\n" + .'当VPC下仅存在以下资源时可强制删除VPC:'."\n" + .'- 该VPC下仅存在IPv4网关及指向IPv4网关的路由。'."\n" + .'- 该VPC下仅存在IPv6网关及指向IPv6网关的路由。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除专有网络VPC。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行删除。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.VpcDhcpStatus', + 'errorMessage' => 'The DhcpOptionsSet status of vpc does not support this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.GatewayEndpoint', + 'errorMessage' => 'The VPC contains endpoints and cannot be deleted.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteEntry', + 'errorMessage' => 'Specified object has dependent resources', + ], + [ + 'errorCode' => 'DependencyViolation.Instance', + 'errorMessage' => 'Specified object has dependent resources', + ], + [ + 'errorCode' => 'DependencyViolation.VSwitch', + 'errorMessage' => 'Specified object has dependent resources', + ], + [ + 'errorCode' => 'DependencyViolation.RouteInterface', + 'errorMessage' => 'Specified object has dependent route interface .', + ], + [ + 'errorCode' => 'DependencyViolation.Tunnel', + 'errorMessage' => 'Specified object has dependent tunnel.', + ], + [ + 'errorCode' => 'DependencyViolation.NatGateway', + 'errorMessage' => 'Specified object has dependent resources NatGateway.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterInterface', + 'errorMessage' => 'Specified object has dependent resources RouterInterface.', + ], + [ + 'errorCode' => 'DependencyViolation.SecurityGroup', + 'errorMessage' => 'Specified object has dependent resources SecurityGroup.', + ], + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC can not found.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'Active custom route in vpc.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => 'The VPC has been connected to the classic network ECS. Please cancel the connection before proceeding.', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteTable', + 'errorMessage' => 'Specified object has dependent custom routeTable.', + ], + [ + 'errorCode' => 'DependencyViolation.NetworkAcl', + 'errorMessage' => 'Specified object has dependent resources network acl.', + ], + [ + 'errorCode' => 'DependencyViolation.ClassicLinkInstance', + 'errorMessage' => 'Specified object has active classicLink instance.', + ], + [ + 'errorCode' => 'System.ServiceBusy', + 'errorMessage' => 'System is busy, please try later.', + ], + [ + 'errorCode' => 'DependencyViolation.DhcpOptionsSet', + 'errorMessage' => 'The VPC cannot be deleted when it is associated with dhcpOptionsSet.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found.', + ], + [ + 'errorCode' => 'DependencyViolation.CustomRouteTable', + 'errorMessage' => 'CustomRouteTable already exists.', + ], + [ + 'errorCode' => 'DependencyViolation.Ipv4Gateway', + 'errorMessage' => 'The VPC cannot be deleted when it has ipv4Gateway.', + ], + [ + 'errorCode' => 'DependencyViolation.GatewayRouteTable', + 'errorMessage' => 'Specified object has dependent resources gatewayRouteTable.', + ], + [ + 'errorCode' => 'OperationDenied.VpcPeerExists', + 'errorMessage' => 'The operation is not allowed because the VpcPeer exists.', + ], + [ + 'errorCode' => 'DependencyViolation.AppAccess', + 'errorMessage' => 'Specified object has dependent resources app access.', + ], + [ + 'errorCode' => 'DependencyViolation.OppositeRouterInterface', + 'errorMessage' => 'Failed to delete the VPC because it has peer router interfaces.', + ], + [ + 'errorCode' => 'DependencyViolation.TransitRouter', + 'errorMessage' => 'Specified object has attached to Transit Router.', + ], + [ + 'errorCode' => 'DependencyViolation.Ipv6Gateway', + 'errorMessage' => 'The VPC contains IPv6Gateway and cannot be deleted.', + ], + [ + 'errorCode' => 'DependencyViolation.CloudServiceResource', + 'errorMessage' => 'The VPC contains CloudServiceResource and cannot be deleted.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcDnsHostnameStatus', + 'errorMessage' => 'The DnsHostname status of vpc does not support this operation.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The operation is not supported in this status.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '删除一个VPC', + 'description' => '调用该接口删除VPC时,请注意: '."\n" + ."\n" + .'- 删除VPC之前,需要先释放或转移VPC内的所有资源,包括交换机、云产品实例、高可用虚拟IP等。'."\n" + .' '."\n" + .'- 只有处于**Available**状态的VPC才可以被删除。 '."\n" + ."\n" + .'- **DeleteVpc**接口属于异步接口,即系统会返回一个请求ID,但该VPC尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpcAttribute](~~94565~~)查询VPC的删除状态:'."\n" + .' - 当VPC处于**Deleting**状态时,表示VPC正在删除中。'."\n" + .' - 当查询不到指定的VPC时,表示VPC删除成功。'."\n" + .'- **DeleteVpc**接口不支持并发删除同一个VPC。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RevokeInstanceFromCen' => [ + 'summary' => '调用RevokeInstanceFromCen撤销网络实例对指定云企业网实例的授权。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-uf6o8d1dj8sjwxi6o****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + ."\n" + .'- **CCN**:云连接网。', + 'type' => 'string', + 'required' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定要撤销授权的云企业网实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cen-7qthudw0ll6jmc****', + ], + ], + [ + 'name' => 'CenOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定要撤销授权的云企业网实例所属账号的UID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'Current Instance status does not support this operation.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.InstanceAttachCen', + 'errorMessage' => 'Operation denied because instance association CEN.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'Specified Instance does not exist.', + ], + [ + 'errorCode' => 'InstanceType.Invalid', + 'errorMessage' => 'Specified type is not valid.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', + 'title' => '撤销网络实例对指定云企业网实例的授权', + 'description' => '- **RevokeInstanceFromCen**接口是VPC的API,所以调用该接口必须使用`vpc.aliyuncs.com`域名。API version为`2016-04-28`。'."\n" + ."\n" + .'- **RevokeInstanceFromCen**接口不支持在同一个VPC、VBR或者CCN中并发撤销网络实例对指定云企业网实例的授权。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassociateVpcCidrBlock' => [ + 'summary' => '调用UnassociateVpcCidrBlock删除VPC的附加网段。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除附加网段的VPC所在地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ch-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除附加网段的VPC的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-o6wrloqsdqc9io3mg****', + ], + ], + [ + 'name' => 'SecondaryCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的附加IPv4网段。'."\n" + ."\n" + .'> 参数**SecondaryCidrBlock**和参数**Ipv6CidrBlock**必须输入一个且不能都输入。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/16', + ], + ], + [ + 'name' => 'IPv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的附加IPv6网段。'."\n" + ."\n" + .'> 参数**Ipv6CidrBlock**和参数**SecondaryCidrBlock**必须输入一个且不能都输入。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:0:6a::/56', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除附加网段的VPC所在地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ch-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.Ipv6Gateway', + 'errorMessage' => 'The operation is failed because of ipv6Gateway is in use.', + ], + [ + 'errorCode' => 'InvalidVpc.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ParamExclusive.SecondaryCidrAndIpv6Cidr', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.SecondaryCidrOrIpv6Cidr', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecondaryCidrBlock.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.CidrInUse', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIpv6CidrBlock.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.IpV6VSwitchInuse', + 'errorMessage' => 'Operation failed because some vswitch ipv6 is in use.', + ], + [ + 'errorCode' => 'MissingParam.SecondaryCidrBlockOrIpv6CidrBlock', + 'errorMessage' => 'Either SecondaryCidrBlock or Ipv6CidrBlock must be specified.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C1221A1F-2ACD-4592-8F27-474E02883159\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C1221A1F-2ACD-4592-8F27-474E02883159\\n","errorExample":""}]', + 'title' => '删除VPC的附加网段', + 'description' => '- 删除VPC的附加网段前,请先删除以附加网段创建的交换机。更多信息,请参见[DeleteVSwitch](~~35746~~)。'."\n" + ."\n" + .'- **UnassociateVpcCidrBlock**接口不支持在同一个VPC下并发删除附加网段。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVpcAttribute' => [ + 'summary' => '修改指定VPC的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '37912', + 'abilityTreeNodes' => [ + 'FEATUREvpcK3NXU2', + ], + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改信息的VPC的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1qtbach57ywecf****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的VPC描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my VPC.', + ], + ], + [ + 'name' => 'VpcName', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的VPC名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'Vpc-1', + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的VPC的IPv4网段。'."\n" + ."\n" + .'您可以在VPC原IPv4网段内放大或缩小网段,网段掩码推荐使用16~28位。当您缩小VPC的IPv4网段时,如果有已经使用的IP地址在目标网段外,则会修改失败。'."\n" + ."\n" + .'> 修改VPC的IPv4网段,不会影响用户的存量业务。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EnableIPv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启IPv6。取值:'."\n" + .'- **false**(默认值):关闭。'."\n" + .'- **true**:开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的IPv6网段。'."\n" + .'为VPC开启IPv6时,系统将分配IPv6网段。如需指定IPv6网段,您需要先调用[AllocateVpcIpv6Cidr](~~448916~~)接口预留指定的IPv6地址段,并将其传入。'."\n" + .'> 对于已开启IPv6的VPC,无法通过传入本参数来修改IPv6网段。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:0:6a::/56', + ], + ], + [ + 'name' => 'Ipv6Isp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的IPv6地址段类型,取值:'."\n" + ."\n" + .'- **BGP**(默认值):阿里云BGP IPv6。'."\n" + .'- **ChinaMobile**:中国移动(单线)。'."\n" + .'- **ChinaUnicom**:中国联通(单线)。'."\n" + .'- **ChinaTelecom**:中国电信(单线)。'."\n" + ."\n" + .'> 如果是开通了单线带宽白名单的用户,该字段可以设置为**ChinaTelecom**(中国电信)、**ChinaUnicom**(中国联通)和**ChinaMobile**(中国移动)。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'EnableDnsHostname', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用DNS主机名功能。取值:'."\n" + ."\n" + .'- **false**(默认值):不开启。'."\n" + .'- **true**:开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '43B72D30-25E1-4FA3-96A8-89374A521D1A', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'description not valid..', + ], + [ + 'errorCode' => 'InvalidVpcName.Malformed', + 'errorMessage' => 'Specified VPC name is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcDiscription.Malformed', + 'errorMessage' => 'Specified VPC description is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified UserCidr invalid format.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Quota', + 'errorMessage' => 'Specified UserCidr number is greater than 3.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Malformed', + 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC name is not valid.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'IllegalCidrBlock', + 'errorMessage' => 'Some subnet cidrBlock is not in the cidrBlock.', + ], + [ + 'errorCode' => 'InvalidRegion.Malformed', + 'errorMessage' => 'Specified RegionId is not vaild.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'OperationUnsupported.DisableIpv6', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6Feature', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ParamExclusive.EnableIpv6AndCidrBlock', + 'errorMessage' => 'EnableIpv6 and CidrBlock is mutually exclusive.', + ], + [ + 'errorCode' => 'OperationFailed.ClassicLinkEnabled', + 'errorMessage' => 'Operation failed because classicLink is enabled.', + ], + [ + 'errorCode' => 'OperationFailed.IpV6VSwitchInuse', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6GatewayInUse', + 'errorMessage' => 'The IPv6 gateway is in use.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCenIpv6Status', + 'errorMessage' => 'Failed to query the IPv6 status of the specified VPC in CEN.', + ], + [ + 'errorCode' => 'OperationUnsupported.CenIpv6Enabled', + 'errorMessage' => 'The IPv6 feature is enabled in CEN.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv6Isp', + 'errorMessage' => 'The Ipv6Isp feature is not supported.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Ipv6Cidr', + 'errorMessage' => 'The specified resource ipv6 cidr is not enough.', + ], + [ + 'errorCode' => 'OperationFailed.IPv6CidrNotReserved', + 'errorMessage' => 'The IPv6 CIDR block is not reserved.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6Cidr', + 'errorMessage' => 'The specified Ipv6CidrBlock is invalid.', + ], + [ + 'errorCode' => 'InvalidIpv6Instance.NotFound', + 'errorMessage' => 'The specified resource of InvalidIpv6Instance is not found.', + ], + [ + 'errorCode' => 'ExclusiveParam.EnableIpv6AndCidrBlock', + 'errorMessage' => 'The param of EnableIpv6 and CidrBlock are mutually exclusive.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcDnsHostname', + 'errorMessage' => 'The feature of vpc dns hostname is unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6RouteEntryUsing', + 'errorMessage' => 'VPC exist IPv6 Route Entry, cannot disable IPv6.', + ], + [ + 'errorCode' => 'OperationFailed.ModifyVpcDnsHostname', + 'errorMessage' => 'Operation failed because DnsHostName resource is in transient state, please try again later.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcDnsHostnameStatus', + 'errorMessage' => 'The DnsHostname status of vpc does not support this operation.', + ], + [ + 'errorCode' => 'OperationFailed.ConflictWithSecondaryCidr', + 'errorMessage' => 'The modified cidr is conflict with the secondary cidr.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"43B72D30-25E1-4FA3-96A8-89374A521D1A\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 43B72D30-25E1-4FA3-96A8-89374A521D1A\\n","errorExample":""}]', + 'title' => '修改指定VPC的配置信息', + 'description' => '* **ModifyVpcAttribute**接口不支持并发修改同一个VPC的配置信息。'."\n" + .'* **ModifyVpcAttribute**接口可以为VPC开启IPv6,但是不能给已开启IPv6的VPC修改IPv6网段或IPv6地址段类型。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'EnableVpcClassicLink' => [ + 'summary' => '开启ClassicLink。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要开启ClassicLink功能的VPC所在的地域。'."\n" + ."\n\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要开启ClassicLink功能的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp1m7v25emi1h5mtc****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'Forbidden.EnableClassicLink', + 'errorMessage' => 'the specified resource does not support this operation.', + ], + [ + 'errorCode' => 'RouteConflict.AlreadyExist', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.RouteConflict', + 'errorMessage' => 'Operation failed because a specified route entry is already exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '开启ClassicLink', + ], + 'DisableVpcClassicLink' => [ + 'summary' => '关闭ClassicLink。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要关闭ClassicLink功能的VPC所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要关闭ClassicLink功能的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp1m7v25emi1h5mtc****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => 'The VPC has been connected to the classic network ECS. Please cancel the connection before proceeding.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'the specified resource does not support this operation.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + [ + 'errorCode' => 'DependencyViolation.Instance', + 'errorMessage' => 'ClassicLink Instances exist in VPC.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '关闭ClassicLink', + ], + 'DeletionProtection' => [ + 'summary' => '设置实例删除保护功能。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要设置删除保护功能的实例所在的地域ID。您可以调用[DescribeRegions](~~36063~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ProtectionEnable', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启删除保护功能,取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '要设置删除保护功能的实例类型,取值:'."\n" + ."\n" + .'- **EIP**:弹性公网IP。'."\n" + ."\n" + .'- **CBWP**:共享带宽。'."\n" + ."\n" + .'- **NATGW**:NAT网关。', + 'type' => 'string', + 'required' => true, + 'example' => 'EIP', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要设置删除保护功能的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eip-uf6id7gvguruxe41v****', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要设置删除保护功能的实例所在的地域ID。您可以调用[DescribeRegions](~~36063~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'BAAEF103-96C4-4454-9210-066F2405F511', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DeletionProtection.ResourceNotExist', + 'errorMessage' => 'The resource is not exist.', + ], + [ + 'errorCode' => 'DeletionProtection.PrePaidNotSupport', + 'errorMessage' => 'The prepaid resource is not support.', + ], + [ + 'errorCode' => 'DeletionProtection.TypeNotSupport', + 'errorMessage' => 'The resource is not support.', + ], + [ + 'errorCode' => 'DeletionProtection.AlreadyEnabled', + 'errorMessage' => 'The resource deletion protection is already enabled.', + ], + [ + 'errorCode' => 'DeletionProtection.OwnerError', + 'errorMessage' => 'The resource owner error.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found', + ], + [ + 'errorCode' => 'DeletionProtection.NotExist', + 'errorMessage' => 'The resource deletion protection is not found', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BAAEF103-96C4-4454-9210-066F2405F511\\"\\n}","errorExample":""},{"type":"xml","example":"\\n BAAEF103-96C4-4454-9210-066F2405F511\\n","errorExample":""}]', + 'title' => '实例释放保护', + 'description' => '## API描述'."\n" + ."\n" + .'为实例开启删除保护功能后,您将不能删除该实例。如需删除,请先关闭删除保护功能。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVpcs' => [ + 'summary' => '查询已创建的VPC。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37764', + 'abilityTreeNodes' => [ + 'FEATUREvpcK3NXU2', + ], + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的ID。 '."\n" + ."\n" + .'最多支持指定20个VPC ID,多个VPC的ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1b1xjllp3ve5yze****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'Vpc-1', + ], + ], + [ + 'name' => 'IsDefault', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询指定地域下的默认VPC,取值: '."\n" + ."\n" + .'- **true**(默认值):查询指定地域下的默认VPC。 '."\n" + ."\n" + .'- **false**:不查询默认VPC。 '."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接查询资源状况。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的VPC所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxvfvazb4p****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => ' 列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'VpcOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC所属的阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '253460731706911258', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + ], + [ + 'name' => 'EnableIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询指定地域下开启IPv6网段的VPC,默认为空值(空值则不根据是否开启IPv6网段做过滤),取值:'."\n" + ."\n" + .'- **false**:不开启。'."\n" + .'- **true**:开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的信息。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C6532AA8-D0F7-497F-A8EE-094126D441F5', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Vpcs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Vpc' => [ + 'description' => 'VPC的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC的详细信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'VPC的创建时间。', + 'type' => 'string', + 'example' => '2021-04-18T15:02:37Z', + ], + 'Status' => [ + 'description' => 'VPC的状态,取值: '."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + ."\n" + .'- **Available**:可用。'."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'VpcId' => [ + 'description' => 'VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp1qpo0kug3a20qqe****', + ], + 'IsDefault' => [ + 'description' => '是否是该地域的默认VPC。取值:'."\n" + ."\n" + .'- **true**:是该地域的默认VPC。'."\n" + ."\n" + .'- **false**:不是该地域的默认VPC。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'OwnerId' => [ + 'description' => 'VPC所属的阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '253460731706911258', + ], + 'RegionId' => [ + 'description' => 'VPC所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'VpcName' => [ + 'description' => 'VPC的名称。', + 'type' => 'string', + 'example' => 'vpc1', + ], + 'VRouterId' => [ + 'description' => 'VPC路由器的ID。', + 'type' => 'string', + 'example' => 'vrt-bp1jcg5cmxjbl9xgc****', + ], + 'DhcpOptionsSetStatus' => [ + 'description' => 'DHCP选项集的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **InUse**:使用中。'."\n" + ."\n" + .'- **Deleted**:已删除。'."\n" + ."\n" + .'- **Pending**:配置中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'CidrBlock' => [ + 'description' => 'VPC的IPv4网段。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'Description' => [ + 'description' => 'VPC的描述信息。', + 'type' => 'string', + 'example' => 'This is my VPC.', + ], + 'ResourceGroupId' => [ + 'description' => 'VPC所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + 'DhcpOptionsSetId' => [ + 'description' => 'DHCP选项集的ID。', + 'type' => 'string', + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段。', + 'type' => 'string', + 'example' => '2408:XXXX:0:a600::/56', + ], + 'CenStatus' => [ + 'description' => 'VPC绑定云企业网的状态。'."\n" + .'仅VPC绑定了云企业网时返回**Attached**。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'VPC的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'VPC绑定的标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => 'VPC绑定的标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'Ipv6CidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC的IPv6网段信息。', + 'type' => 'object', + 'properties' => [ + 'Ipv6Isp' => [ + 'description' => 'VPC的IPv6地址段类型,取值:'."\n" + ."\n" + .'- **BGP**:阿里云BGP IPv6。'."\n" + .'- **ChinaMobile**:中国移动(单线)。'."\n" + .'- **ChinaUnicom**:中国联通(单线)。'."\n" + .'- **ChinaTelecom**:中国电信(单线)。'."\n" + ."\n" + .'> 如果是开通了单线带宽白名单的用户,该字段可以设置为**ChinaTelecom**(中国电信)、**ChinaUnicom**(中国联通)和**ChinaMobile**(中国移动)。', + 'type' => 'string', + 'example' => 'BGP', + ], + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段。', + 'type' => 'string', + 'example' => '2408:XXXX:0:a600::/56', + ], + ], + ], + ], + ], + ], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => '查询到的VPC中交换机的列表信息。'."\n" + ."\n" + .'最多可以查询到VPC中最近创建的300个交换机的信息。如果您需要查询VPC中全部交换机的信息,可以执行[DescribeVSwitches](~~448774~~)接口查询。', + 'type' => 'array', + 'items' => [ + 'description' => '查询到的VPC中交换机的列表信息。'."\n" + ."\n" + .'最多可以查询到VPC中最近创建的300个交换机的信息。如果您需要查询VPC中全部交换机的信息,可以执行[DescribeVSwitches](~~448774~~)接口查询。', + 'type' => 'string', + 'example' => 'vsw-bp1nhbnpv2blyz8dl****', + ], + ], + ], + ], + 'SecondaryCidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecondaryCidrBlock' => [ + 'description' => '附加网段信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC的附加网段。', + 'type' => 'string', + 'example' => '192.168.20.0/24', + ], + ], + ], + ], + 'UserCidrs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserCidr' => [ + 'description' => '用户侧网段的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '用户侧网段的列表。', + 'type' => 'string', + 'example' => '10.0.0.0/8', + ], + ], + ], + ], + 'NatGatewayIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NatGatewayIds' => [ + 'description' => 'NAT网关的ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'NAT网关的ID。', + 'type' => 'string', + 'example' => 'nat-245xxxftwt45bg****', + ], + ], + ], + ], + 'RouterTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouterTableIds' => [ + 'description' => '路由表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1krxxzp0c29fmon****', + ], + ], + ], + ], + 'EnabledIpv6' => [ + 'description' => '是否开启IPv6。取值:'."\n" + ."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'boolean', + 'enumValueTitles' => [], + 'example' => 'false', + ], + 'DnsHostnameStatus' => [ + 'description' => '是否开启DNS主机名。', + 'type' => 'string', + 'example' => 'DISABLED', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVpcIdNumber.NotSupported', + 'errorMessage' => 'The number of vpcIds exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'User Id is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId.NotFound', + 'errorMessage' => 'The Specified ResourceGroupId not exists.', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.OwnerId', + 'errorMessage' => 'The specified parameter VpcOwnerId is not valid.', + ], + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The account is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"C6532AA8-D0F7-497F-A8EE-094126D441F5\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Vpcs\\": {\\n \\"Vpc\\": [\\n {\\n \\"CreationTime\\": \\"2021-04-18T15:02:37Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"VpcId\\": \\"vpc-bp1qpo0kug3a20qqe****\\",\\n \\"IsDefault\\": false,\\n \\"OwnerId\\": 253460731706911260,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VpcName\\": \\"vpc1\\",\\n \\"VRouterId\\": \\"vrt-bp1jcg5cmxjbl9xgc****\\",\\n \\"DhcpOptionsSetStatus\\": \\"Available\\",\\n \\"CidrBlock\\": \\"192.168.0.0/16\\",\\n \\"Description\\": \\"This is my VPC.\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"DhcpOptionsSetId\\": \\"dopt-o6w0df4epg9zo8isy****\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/56\\",\\n \\"CenStatus\\": \\"Attached\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"Ipv6CidrBlocks\\": {\\n \\"Ipv6CidrBlock\\": [\\n {\\n \\"Ipv6Isp\\": \\"BGP\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/56\\"\\n }\\n ]\\n },\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp1nhbnpv2blyz8dl****\\"\\n ]\\n },\\n \\"SecondaryCidrBlocks\\": {\\n \\"SecondaryCidrBlock\\": [\\n \\"192.168.20.0/24\\"\\n ]\\n },\\n \\"UserCidrs\\": {\\n \\"UserCidr\\": [\\n \\"10.0.0.0/8\\"\\n ]\\n },\\n \\"NatGatewayIds\\": {\\n \\"NatGatewayIds\\": [\\n \\"nat-245xxxftwt45bg****\\"\\n ]\\n },\\n \\"RouterTableIds\\": {\\n \\"RouterTableIds\\": [\\n \\"vtb-bp1krxxzp0c29fmon****\\"\\n ]\\n },\\n \\"EnabledIpv6\\": false,\\n \\"DnsHostnameStatus\\": \\"DISABLED\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n C6532AA8-D0F7-497F-A8EE-094126D441F5\\n 1\\n 2\\n \\n 2021-04-18T15:02:37Z\\n Available\\n vpc-bp1qpo0kug3a20qqe****\\n false\\n 253460731706911260\\n cn-hangzhou\\n vpc1\\n vrt-bp1jcg5cmxjbl9xgc****\\n Available\\n 192.168.0.0/16\\n This is my VPC.\\n rg-acfmxazb4ph****\\n dopt-o6w0df4epg9zo8isy****\\n 2408:XXXX:0:a600::/56\\n Attached\\n \\n env\\n internal\\n \\n \\n BGP\\n 2408:XXXX:0:a600::/56\\n \\n vsw-bp1nhbnpv2blyz8dl****\\n 192.168.20.0/24\\n 10.0.0.0/8\\n nat-245xxxftwt45bg****\\n vtb-bp1krxxzp0c29fmon****\\n \\n","errorExample":""}]', + 'title' => '查询已创建的VPC', + ], + 'DescribeVpcAttribute' => [ + 'summary' => '查询指定VPC的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREvpcK3NXU2', + ], + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp18sth14qii3pnv****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 '."\n" + ."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接查询资源状况。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IsDefault', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为默认VPC,取值: '."\n" + ."\n" + .'- **false**(默认值):不是默认VPC。'."\n" + ."\n" + .'- **true**:是默认VPC。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'VPC的创建时间。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'VPC的创建时间。', + 'type' => 'string', + 'example' => '2021-10-16T07:31:09Z', + ], + 'Status' => [ + 'description' => 'VPC的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Pending**:配置中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'VpcId' => [ + 'description' => 'VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp18sth14qii3pnvo****', + ], + 'IsDefault' => [ + 'description' => '是否是默认VPC。取值:'."\n" + ."\n" + .'- **true**:是默认VPC。'."\n" + ."\n" + .'- **false**(默认值):非默认VPC。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ClassicLinkEnabled' => [ + 'description' => '是否开启了ClassicLink功能。取值:'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**(默认值):未开启。', + 'type' => 'boolean', + 'deprecated' => true, + 'example' => 'false', + ], + 'OwnerId' => [ + 'description' => 'VPC所属的账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '28311773240248****', + ], + 'RegionId' => [ + 'description' => 'VPC所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'VpcName' => [ + 'description' => 'VPC的名称。', + 'type' => 'string', + 'example' => 'doctest2', + ], + 'VRouterId' => [ + 'description' => 'VPC的路由器ID。', + 'type' => 'string', + 'example' => 'vrt-bp1jso6ng1at0ajsc****', + ], + 'DhcpOptionsSetStatus' => [ + 'description' => 'DHCP选项集的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **InUse**:使用中。'."\n" + ."\n" + .'- **Deleted**:已删除。'."\n" + ."\n" + .'- **Pending**:配置中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'CidrBlock' => [ + 'description' => 'VPC的IPv4网段。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7486AE4A-129D-43DB-A714-2432C074BA04', + ], + 'Description' => [ + 'description' => 'VPC的描述。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazbvgb4ph****', + ], + 'DhcpOptionsSetId' => [ + 'description' => 'DHCP选项集的ID。', + 'type' => 'string', + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段。', + 'type' => 'string', + 'example' => '2408:XXXX:0:a600::/56', + ], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => 'VPC下的交换机列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC下的交换机列表。', + 'type' => 'string', + 'example' => '{"VSwitchId": [ "vsw-bp14cagpfysr29feg****" ]}', + ], + ], + ], + ], + 'UserCidrs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserCidr' => [ + 'description' => '用户侧网络的网段,如定义了多个网段,返回时会以半角逗号(,)隔开,最多支持3个网段。', + 'type' => 'array', + 'items' => [ + 'description' => '用户侧网络的网段,如定义了多个网段,返回时会以半角逗号(,)隔开,最多支持3个网段。', + 'type' => 'string', + 'example' => '172.16.0.1/24', + ], + ], + ], + ], + 'SecondaryCidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecondaryCidrBlock' => [ + 'description' => 'VPC附加IPv4网段。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC附加IPv4网段。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + ], + ], + ], + 'AssociatedCens' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AssociatedCen' => [ + 'description' => '绑定的云企业网列表。'."\n" + ."\n" + .'如果VPC未绑定云企业网,则不返回该参数。', + 'type' => 'array', + 'items' => [ + 'description' => '云企业网所属账号的ID。', + 'type' => 'object', + 'properties' => [ + 'CenOwnerId' => [ + 'description' => '云企业网所属账号的ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '28311773240248****', + ], + 'CenId' => [ + 'description' => 'VPC绑定的云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-7qthudw0ll6jmc****', + ], + 'CenStatus' => [ + 'description' => 'VPC绑定云企业网的状态。'."\n" + ."\n" + .'仅VPC绑定了云企业网时返回**Attached**。', + 'type' => 'string', + 'example' => 'Attached', + ], + ], + ], + ], + ], + ], + 'CloudResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CloudResourceSetType' => [ + 'description' => 'VPC下的资源列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC下的资源数量。', + 'type' => 'object', + 'properties' => [ + 'ResourceCount' => [ + 'description' => 'VPC下的资源数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ResourceType' => [ + 'description' => 'VPC下的资源类型。取值:'."\n" + ."\n" + .'- **VSwitch**:交换机。'."\n" + ."\n" + .'- **VRouter**:路由器。'."\n" + ."\n" + .'- **RouteTable**:路由表。', + 'type' => 'string', + 'example' => 'VSwitch', + ], + ], + ], + ], + ], + ], + 'Ipv6CidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC的IPv6网段信息。', + 'type' => 'object', + 'properties' => [ + 'Ipv6Isp' => [ + 'description' => 'VPC的IPv6地址段类型。取值:'."\n" + ."\n" + .'- **BGP**(默认值):阿里云BGP IPv6。'."\n" + .'- **ChinaMobile**:中国移动(单线)。'."\n" + .'- **ChinaUnicom**:中国联通(单线)。'."\n" + .'- **ChinaTelecom**:中国电信(单线)。'."\n" + ."\n" + .'> 如果是开通了单线带宽白名单的用户,该字段可以设置为**ChinaTelecom**(中国电信)、**ChinaUnicom**(中国联通)和**ChinaMobile**(中国移动)。', + 'type' => 'string', + 'example' => 'BGP', + ], + 'Ipv6CidrBlock' => [ + 'description' => 'VPC的IPv6网段。', + 'type' => 'string', + 'example' => '2408:XXXX:0:6a::/56', + ], + ], + ], + ], + ], + ], + 'SupportIpv4Gateway' => [ + 'description' => 'VPC是否工作于IPv4网关集中控制模式。'."\n" + .'- **true**:IPv4网关集中控制模式,公网流量受IPv4网关集中管控(IPv4网关创建且配置路由后激活),或纯私网VPC(IPv4网关选择私网模式删除)。'."\n" + .'- **false**:公网直接访问模式。'."\n" + ."\n" + .'> 详情可参考文档[IPv4网关](~~376445~~)', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Ipv4GatewayId' => [ + 'description' => 'IPv4网关的实例ID。', + 'type' => 'string', + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'AssociatedPropagationSources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AssociatedPropagationSources' => [ + 'description' => 'VPC关联路由传播源。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SourceType' => [ + 'description' => '传播源类型。'."\n" + ."\n" + .'- **CEN**:云企业网。'."\n" + .'- **VPN**:VPN网关。'."\n" + .'- **TR**:转发路由器。'."\n" + .'- **ECR**:专线网关。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'SourceOwnerId' => [ + 'description' => '传播源所属账号的ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '153980532164****', + ], + 'SourceInstanceId' => [ + 'description' => '传播源实例ID。', + 'type' => 'string', + 'example' => 'cen-dc4vwznpwbobrl****', + ], + 'Status' => [ + 'description' => '绑定状态。'."\n" + ."\n" + .'- **Attaching**:绑定中。'."\n" + .'- **Attached**:已绑定。'."\n" + .'- **Detaching**:解绑中。', + 'type' => 'string', + 'example' => 'Attaching', + ], + 'RoutePropagated' => [ + 'description' => '是否给本VPC传播路由。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + 'EnabledIpv6' => [ + 'description' => '是否开启IPv6。', + 'type' => 'boolean', + 'enumValueTitles' => [ + 'false' => 'false', + 'true' => 'true', + ], + 'example' => 'false', + ], + 'DnsHostnameStatus' => [ + 'description' => '是否开启DNS主机名。', + 'type' => 'string', + 'example' => 'DISABLED', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CreationTime\\": \\"2021-10-16T07:31:09Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"VpcId\\": \\"vpc-bp18sth14qii3pnvo****\\",\\n \\"IsDefault\\": false,\\n \\"ClassicLinkEnabled\\": false,\\n \\"OwnerId\\": 0,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VpcName\\": \\"doctest2\\",\\n \\"VRouterId\\": \\"vrt-bp1jso6ng1at0ajsc****\\",\\n \\"DhcpOptionsSetStatus\\": \\"Available\\",\\n \\"CidrBlock\\": \\"192.168.0.0/16\\",\\n \\"RequestId\\": \\"7486AE4A-129D-43DB-A714-2432C074BA04\\",\\n \\"Description\\": \\"VPC\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazbvgb4ph****\\",\\n \\"DhcpOptionsSetId\\": \\"dopt-o6w0df4epg9zo8isy****\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/56\\",\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"{\\\\\\"VSwitchId\\\\\\": [ \\\\\\"vsw-bp14cagpfysr29feg****\\\\\\" ]}\\"\\n ]\\n },\\n \\"UserCidrs\\": {\\n \\"UserCidr\\": [\\n \\"172.16.0.1/24\\"\\n ]\\n },\\n \\"SecondaryCidrBlocks\\": {\\n \\"SecondaryCidrBlock\\": [\\n \\"192.168.0.0/16\\"\\n ]\\n },\\n \\"AssociatedCens\\": {\\n \\"AssociatedCen\\": [\\n {\\n \\"CenOwnerId\\": 0,\\n \\"CenId\\": \\"cen-7qthudw0ll6jmc****\\",\\n \\"CenStatus\\": \\"Attached\\"\\n }\\n ]\\n },\\n \\"CloudResources\\": {\\n \\"CloudResourceSetType\\": [\\n {\\n \\"ResourceCount\\": 1,\\n \\"ResourceType\\": \\"VSwitch\\"\\n }\\n ]\\n },\\n \\"Ipv6CidrBlocks\\": {\\n \\"Ipv6CidrBlock\\": [\\n {\\n \\"Ipv6Isp\\": \\"BGP\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:6a::/56\\"\\n }\\n ]\\n },\\n \\"SupportIpv4Gateway\\": true,\\n \\"Ipv4GatewayId\\": \\"ipv4gw-5tsnc6s4ogsedtp3k****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"AssociatedPropagationSources\\": {\\n \\"AssociatedPropagationSources\\": [\\n {\\n \\"SourceType\\": \\"CEN\\",\\n \\"SourceOwnerId\\": 0,\\n \\"SourceInstanceId\\": \\"cen-dc4vwznpwbobrl****\\",\\n \\"Status\\": \\"Attaching\\",\\n \\"RoutePropagated\\": true\\n }\\n ]\\n },\\n \\"EnabledIpv6\\": false,\\n \\"DnsHostnameStatus\\": \\"DISABLED\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2021-10-16T07:31:09Z\\n Available\\n vpc-bp18sth14qii3pnvo****\\n false\\n false\\n 283117732402484000\\n cn-hangzhou\\n doctest2\\n vrt-bp1jso6ng1at0ajsc****\\n Available\\n 192.168.0.0/16\\n 7486AE4A-129D-43DB-A714-2432C074BA04\\n VPC\\n rg-acfmxazbvgb4ph****\\n dopt-o6w0df4epg9zo8isy****\\n 2408:XXXX:0:a600::/56\\n {\\"VSwitchId\\": [ \\"vsw-bp14cagpfysr29feg****\\" ]}\\n 172.16.0.1/24\\n 192.168.0.0/16\\n \\n 283117732402484000\\n cen-7qthudw0ll6jmc****\\n Attached\\n \\n \\n 1\\n VSwitch\\n \\n \\n BGP\\n 2408:XXXX:0:6a::/56\\n \\n true\\n ipv4gw-5tsnc6s4ogsedtp3k****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n","errorExample":""}]', + 'title' => '查询指定VPC的配置信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeGrantRulesToCen' => [ + 'summary' => '查询指定网络实例(VPC、VBR和CCN)的云企业网跨账号授权信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例所在的地域。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp18sth14qii3pnvc****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例的类型,取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + ."\n" + .'- **CCN**:云连接网。', + 'type' => 'string', + 'required' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4p**** ', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + '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' => 'F5BB78C8-5F41-464F-B9FF-5E0A7198BA26', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'CenGrantRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CbnGrantRule' => [ + 'description' => '网络实例授权信息。', + 'type' => 'array', + 'items' => [ + 'description' => '网络实例授权信息。', + 'type' => 'object', + 'properties' => [ + 'CenInstanceId' => [ + 'description' => '已授权的云企业网实例的ID。', + 'type' => 'string', + 'example' => 'cen-9gsm1q2yh1prpt****', + ], + 'CenOwnerId' => [ + 'description' => '已授权的云企业网实例所属阿里云账号的UID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '132193271328****', + ], + 'CreationTime' => [ + 'description' => '实例创建时间。', + 'type' => 'string', + 'example' => '2019-11-15T09:26:36Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"F5BB78C8-5F41-464F-B9FF-5E0A7198BA26\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"CenGrantRules\\": {\\n \\"CbnGrantRule\\": [\\n {\\n \\"CenInstanceId\\": \\"cen-9gsm1q2yh1prpt****\\",\\n \\"CenOwnerId\\": 0,\\n \\"CreationTime\\": \\"2019-11-15T09:26:36Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n F5BB78C8-5F41-464F-B9FF-5E0A7198BA26\\n 1\\n 1\\n \\n cen-9gsm1q2yh1prpt****\\n 2019-11-15T09:26:36Z\\n \\n","errorExample":""}]', + 'title' => '查询云企业网跨账号授权信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVRouterAttribute' => [ + 'summary' => '调用ModifyVRouterAttribute接口修改路由器的名称和描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的路由器所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vrt-gw0p7zigake75znix****', + ], + ], + [ + 'name' => 'VRouterName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'VRouter-1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'My VRouter', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVRouterName.Malformed', + 'errorMessage' => 'Specified virtual router name is not valid.', + ], + [ + 'errorCode' => 'InvalidVRouterDescription.Malformed', + 'errorMessage' => 'Specified virtual router description is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'Forbidden.VRouterNotFound', + 'errorMessage' => 'Specified virtual router is not found during access authentication.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVRouterId.NotFound', + 'errorMessage' => 'Specified virtual router does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改路由器的名称和描述信息', + 'description' => '**ModifyVRouterAttribute**接口不支持并发修改同一个路由器的名称和描述信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVRouters' => [ + 'summary' => '调用DescribeVRouters接口查询指定地域的路由器列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'VRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由器的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vrt-bp1lhl0taikrteen****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由器所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VRouters' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VRouter' => [ + 'description' => '路由器的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '路由器所属VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-rj905wotv6y030t1****', + ], + 'CreationTime' => [ + 'description' => '路由器的创建时间。', + 'type' => 'string', + 'example' => '2018-03-22T07:46:20Z', + ], + 'VRouterId' => [ + 'description' => '路由器的ID。', + 'type' => 'string', + 'example' => 'vrt-rj98khsezfqpjrxmv****', + ], + 'Description' => [ + 'description' => '路由器的描述信息。', + 'type' => 'string', + 'example' => 'abc', + ], + 'VRouterName' => [ + 'description' => '路由器的名称。', + 'type' => 'string', + 'example' => 'doctest', + ], + 'RegionId' => [ + 'description' => '路由器所属的地域。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'RouteTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteTableId' => [ + 'description' => '路由表ID列表', + 'type' => 'array', + 'items' => [ + 'description' => '路由器中的路由表的ID。', + 'type' => 'string', + 'example' => '{ "RouteTableId": [ "vtb-rj9ybe3y0u41mmjsp****"] }', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"VRouters\\": {\\n \\"VRouter\\": [\\n {\\n \\"VpcId\\": \\"vpc-rj905wotv6y030t1****\\",\\n \\"CreationTime\\": \\"2018-03-22T07:46:20Z\\",\\n \\"VRouterId\\": \\"vrt-rj98khsezfqpjrxmv****\\",\\n \\"Description\\": \\"abc\\",\\n \\"VRouterName\\": \\"doctest\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RouteTableIds\\": {\\n \\"RouteTableId\\": [\\n \\"{ \\\\\\"RouteTableId\\\\\\": [ \\\\\\"vtb-rj9ybe3y0u41mmjsp****\\\\\\"] }\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n 1\\n 1\\n \\n vpc-rj905wotv6y030t1****\\n 2018-03-22T07:46:20Z\\n vrt-rj98khsezfqpjrxmv****\\n abc\\n doctest\\n cn-hangzhou\\n { \\"RouteTableId\\": [ \\"vtb-rj9ybe3y0u41mmjsp****\\"] }\\n \\n","errorExample":""}]', + 'title' => '查询指定地域的路由器列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListVSwitchCidrReservations' => [ + 'summary' => '查询交换机预留网段。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的交换机预留网段所属的交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-25navfgbue4g****', + ], + ], + [ + 'name' => 'VSwitchCidrReservationIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '前缀列表的实例ID', + 'description' => '交换机预留网段的实例ID。最多支持输入10个预留网段。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机预留网段的实例ID。最多支持输入10个预留网段。', + 'type' => 'string', + 'required' => false, + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'VSwitchCidrReservationType', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段的类型。取值:**prefix**,表示按段分配地址。'."\n" + ."\n" + .'> 用户及云服务自动为弹性网卡ENI(Elastic Network Interface)分配网段时,必须从预留地址段分配。如果预留地址段的地址已经分配完,则系统会报错。', + 'type' => 'string', + 'required' => false, + 'example' => 'prefix', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段的IP版本。取值:'."\n" + ."\n" + .'- **IPv4** (默认值):IPv4版本。'."\n" + .'- **IPv6**:IPv6版本。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '交换机所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'VSwitchCidrReservations' => [ + 'description' => '交换机预留网段的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机预留网段的列表。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '交换机预留网段所属的VPC。', + 'type' => 'string', + 'example' => 'vpc-bp1wdz2pdhgurz1od****', + ], + 'VSwitchId' => [ + 'title' => '交换机实例Id', + 'description' => '交换机预留网段所属的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-25navfgbue4g****', + ], + 'VSwitchCidrReservationId' => [ + 'title' => '预留网段实例Id', + 'description' => '交换机预留网段的实例ID。', + 'type' => 'string', + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + 'VSwitchCidrReservationCidr' => [ + 'title' => '预留网段CIdrBlock', + 'description' => '交换机预留网段。', + 'type' => 'string', + 'example' => '192.168.1.64/28', + ], + 'VSwitchCidrReservationName' => [ + 'title' => '预留网段名称', + 'description' => '交换机预留网段的名称。', + 'type' => 'string', + 'example' => 'ReservationName', + ], + 'VSwitchCidrReservationDescription' => [ + 'title' => '预留网段描述', + 'description' => '交换机预留网段的描述信息。', + 'type' => 'string', + 'example' => 'ReservationDescription', + ], + 'IpVersion' => [ + 'title' => 'IpVersion', + 'description' => '交换机预留网段的IP版本。取值:'."\n" + ."\n" + .'- **IPv4** (默认值):IPv4版本。'."\n" + .'- **IPv6**:IPv6版本。'."\n", + 'type' => 'string', + 'example' => 'IPv4', + ], + 'CreationTime' => [ + 'title' => '创建时间', + 'description' => '预留网段的创建时间。', + 'type' => 'string', + 'example' => '2023-03-14T10:02:37Z', + ], + 'Type' => [ + 'title' => '预留网段类型', + 'description' => '交换机预留网段的类型。取值: **prefix**(默认值),表示按段分配地址。', + 'type' => 'string', + 'example' => 'prefix', + ], + 'AvailableCidrCount' => [ + 'title' => '可用地址段数量', + 'description' => '交换机预留网段中可用的前缀网段(prefix)数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'AssignedCidrCount' => [ + 'title' => '已使用地址段数量', + 'description' => '交换机预留网段中已使用的前缀网段(prefix)数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'Status' => [ + 'description' => '预留网段的状态。取值:'."\n" + ."\n" + .'- **Assigning**:分配中。'."\n" + .'- **Assigned**:已分配。'."\n" + .'- **Releasing**:释放中。'."\n" + .'- **Released**:已释放。', + 'type' => 'string', + 'example' => 'Assigned', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 10,\\n \\"VSwitchCidrReservations\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1wdz2pdhgurz1od****\\",\\n \\"VSwitchId\\": \\"vsw-25navfgbue4g****\\",\\n \\"VSwitchCidrReservationId\\": \\"vcr-bp1m12saqteraw3rp****\\",\\n \\"VSwitchCidrReservationCidr\\": \\"192.168.1.64/28\\",\\n \\"VSwitchCidrReservationName\\": \\"ReservationName\\",\\n \\"VSwitchCidrReservationDescription\\": \\"ReservationDescription\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"CreationTime\\": \\"2023-03-14T10:02:37Z\\",\\n \\"Type\\": \\"prefix\\",\\n \\"AvailableCidrCount\\": 10,\\n \\"AssignedCidrCount\\": 6,\\n \\"Status\\": \\"Assigned\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 10\\n 10\\n \\n vpc-bp1wdz2pdhgurz1od****\\n vsw-25navfgbue4g****\\n vcr-bp1m12saqteraw3rp****\\n 192.168.1.64/28\\n ReservationName\\n ReservationDescription\\n IPv4\\n 2023-03-14T10:02:37Z\\n prefix\\n 10\\n 6\\n Assigned\\n \\n","errorExample":""}]', + 'title' => '查询交换机预留网段', + ], + 'CreateVSwitchCidrReservation' => [ + 'summary' => '调用CreateVSwitchCidrReservation接口创建交换机预留网段。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源标签', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以aliyun和acs:开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以aliyun和acs:开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的交换机预留网段所属的交换机ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-25navfgbue4g****', + ], + ], + [ + 'name' => 'VSwitchCidrReservationName', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,以英文字母或中文开头,可包含数字、下划线(_)和短划线(-)。不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ReservationName', + ], + ], + [ + 'name' => 'VSwitchCidrReservationDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段的描述信息。不填则为空,默认值为空。'."\n" + ."\n" + .'描述长度为1~256个字符,以英文字母或中文开头,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ReservationDescription', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段的IP版本。取值:'."\n" + ."\n" + .'- **IPv4** (默认值)'."\n" + .'- **IPv6**'."\n" + ."\n" + .'> 创建 IPv4 预留网段时可以不填写,创建 IPv6 预留网段时必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'VSwitchCidrReservationMask', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段的掩码。'."\n" + ."\n" + .'- 当**IpVersion**取值为**IPv4**时,交换机预留网段的掩码长度必须比所属交换机的IPv4网段掩码大2且最大不超过28。'."\n" + .'- 当**IpVersion**取值为**IPv6**时,交换机预留网段的掩码长度必须要大于所属交换机的IPv6网段掩码长度且最大不超过80。'."\n" + ."\n" + .'> - **VSwitchCidrReservationMask**参数和**VSwitchCidrReservationCidr**参数必须输入一个。'."\n" + .'> - 预留网段不能包含所属交换机的系统保留地址。', + 'type' => 'string', + 'required' => false, + 'example' => '28', + ], + ], + [ + 'name' => 'VSwitchCidrReservationCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段。'."\n" + ."\n" + .'- 当**IpVersion**取值为**IPv4**时,交换机预留网段必须是其所属交换机IPv4网段的真子集且网段的掩码长度不超过28。'."\n" + .'- 当**IpVersion**取值为**IPv6**时,交换机预留网段必须是其所属交换机IPv6网段的真子集且网段的掩码长度不超过80。'."\n" + ."\n" + .'> - **VSwitchCidrReservationMask**参数和**VSwitchCidrReservationCidr**参数必须输入一个。'."\n" + .'> - 预留网段不能包含所属交换机的系统保留地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.1.64/28', + ], + ], + [ + 'name' => 'VSwitchCidrReservationType', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机预留网段的类型。取值:**prefix**,表示按段分配地址。'."\n" + ."\n" + .'> 用户及云服务自动为弹性网卡ENI(Elastic Network Interface)分配网段时,必须从预留地址段分配。如果预留地址段的地址已经分配完,则系统会报错。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'prefix', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建交换机预留网段。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行创建。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n" + ."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '交换机预留网段的实例ID。', + 'type' => 'object', + 'properties' => [ + 'VSwitchCidrReservationId' => [ + 'description' => '交换机预留网段的实例ID。', + 'type' => 'string', + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParamFormat', + 'errorMessage' => 'IllegalParamFormat', + ], + [ + 'errorCode' => 'IllegalParamFormat.VSwitchCidrReservationCidr', + 'errorMessage' => 'The param format of VSwitchCidrReservationCidr is illegal.', + ], + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The specified resource of VSwitch is not found.', + ], + [ + 'errorCode' => 'UnsupportedFeature.ReservedType', + 'errorMessage' => 'The specified ReservedType is not supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VSwitchIpv6', + 'errorMessage' => 'The ipv6 feature of switch is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.VSwitchCidrReservationCidr', + 'errorMessage' => 'The specified VSwitchCidrReservationCidr conflicts with existed cidr reservation or vswitch cidr.', + ], + [ + 'errorCode' => 'MissingParam.CidrReservationMaskOrCidrReservationCidr', + 'errorMessage' => 'Either VSwitchCidrReservationMask or VSwitchCidrReservationCidr should be specified.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'UnsupportedRegion', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcAdvancedFeature', + 'errorMessage' => 'UnsupportedFeature.VpcAdvancedFeature', + ], + [ + 'errorCode' => 'QuotaExceeded.CidrReservationCount', + 'errorMessage' => 'The quota of VSwitchCidrReservation is exceeded.', + ], + [ + 'errorCode' => 'Conflict.CidrReservationMaskAndCidrReservationCidr', + 'errorMessage' => 'The specified VSwitchCidrReservationMask and VSwitchCidrReservationCidr is conflict.', + ], + [ + 'errorCode' => 'OperationFailed.CidrNotEnoughInVSwitch', + 'errorMessage' => 'No enough cidr to allocate in this vswitch.', + ], + [ + 'errorCode' => 'OperationFailed.SystemReservedIpContained', + 'errorMessage' => 'The specified VSwitchCidrReservationCidr cannot contain system reserved IP addresses.', + ], + [ + 'errorCode' => 'OperationFailed.AlreadyUsedIpContained', + 'errorMessage' => 'The specified VSwitchCidrReservationCidr cannot contain already used IP addresses.', + ], + [ + 'errorCode' => 'IncorrectStatus.VSWITCH', + 'errorMessage' => 'The status of the specified VSwitch is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.VSwitchCidrReservationMask', + 'errorMessage' => 'The specified VSwitchCidrReservationMask must be at least 2 bits greater than the vSwitch mask.', + ], + [ + 'errorCode' => 'QuotaExceeded.VSwitchCidrReservationMask', + 'errorMessage' => 'The operation is failed because of %s. The mask of the reserved subnet cidr exceeds the current default mask of IP Prefix, %s/%s.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListVSwitchCidrReservations', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VSwitchCidrReservationId\\": \\"vcr-bp1m12saqteraw3rp****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', + 'title' => '创建交换机预留网段', + 'description' => '调用该接口创建交换机预留网段时,请注意以下事项:'."\n" + .'- VPC中 IPv4、IPv6最大预留网段数目均为100个。'."\n" + .'- 预留网段不能包含所属交换机的系统保留地址。'."\n" + .' - IPv4 网段:交换机的第1个和最后3个IP地址为系统保留地址'."\n" + .' - IPv6 网段:交换机的第1个和最后9个IP地址为系统保留地址。'."\n" + .'- **CreateVSwitchCidrReservation**接口属于异步接口,即系统会返回一个实例ID,但该交换机预留网段尚未创建完成,系统后台任务仍在进行中。您可以调用'."\n" + .'[ListVSwitchCidrReservations](~~610155~~)查询交换机预留网段的创建状态:'."\n" + .' - 当交换机预留网段处于**Assigning**状态时,表示交换机预留网段正在分配中。'."\n" + .' - 当交换机预留网段处于**Assigned**状态时,表示交换机预留网段已分配。', + ], + 'GetVSwitchCidrReservationUsage' => [ + 'summary' => '查询交换机预留网段的用量。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'VSwitchCidrReservationId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的交换机预留网段的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '交换机所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'CidrReservationUsages' => [ + 'description' => '已分配使用的交换机预留网段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '已分配使用的交换机预留网段列表。', + 'type' => 'object', + 'properties' => [ + 'VSwitchCidrReservationId' => [ + 'title' => '预留网段实例Id', + 'description' => '交换机预留网段的实例ID。', + 'type' => 'string', + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + 'VSwitchId' => [ + 'title' => '交换机实例Id', + 'description' => '预留网段所属的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-25navfgbue4g****', + ], + 'ResourceId' => [ + 'title' => '前缀网段绑定资源的实例Id', + 'description' => '从预留网段分配使用的弹性网卡的实例ID。', + 'type' => 'string', + 'example' => 'eni-bp14v2sdd3v8htln****', + ], + 'ResourceType' => [ + 'title' => '前缀网段绑定资源的类型', + 'description' => '预留网段分配使用的实例类型。取值:**NetworkInterface**,弹性网卡类型。', + 'type' => 'string', + 'example' => 'NetworkInterface', + ], + 'IpPrefixId' => [ + 'title' => '前缀网段实例id', + 'description' => '按段分配的预留网段实例ID。', + 'type' => 'string', + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + 'IpPrefixCidr' => [ + 'description' => '从当前预留网段中已分配给弹性网卡使用的前缀网段(prefix)。', + 'type' => 'string', + 'example' => '192.168.1.64/28', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.CidrReservation', + 'errorMessage' => 'The specified resource of VSwitchCidrReservation is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 10,\\n \\"CidrReservationUsages\\": [\\n {\\n \\"VSwitchCidrReservationId\\": \\"vcr-bp1m12saqteraw3rp****\\",\\n \\"VSwitchId\\": \\"vsw-25navfgbue4g****\\",\\n \\"ResourceId\\": \\"eni-bp14v2sdd3v8htln****\\",\\n \\"ResourceType\\": \\"NetworkInterface\\",\\n \\"IpPrefixId\\": \\"vcr-bp1m12saqteraw3rp****\\",\\n \\"IpPrefixCidr\\": \\"192.168.1.64/28\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 10\\n 10\\n \\n vcr-bp1m12saqteraw3rp****\\n vsw-25navfgbue4g****\\n eni-bp14v2sdd3v8htln****\\n NetworkInterface\\n vcr-bp1m12saqteraw3rp****\\n 192.168.1.64/28\\n \\n","errorExample":""}]', + 'title' => '查询交换机预留网段的用量情况', + ], + 'ModifyVSwitchCidrReservationAttribute' => [ + 'summary' => '修改交换机预留网段的名称和描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VSwitchCidrReservationId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的交换机预留网段的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + ], + [ + 'name' => 'VSwitchCidrReservationName', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的交换机预留网段的名称。'."\n" + ."\n" + .'名称长度为2~128个字符,以英文字母或中文开头,可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ReservationName', + ], + ], + [ + 'name' => 'VSwitchCidrReservationDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的交换机预留网段的描述信息。不填则为空,默认值为空。'."\n" + ."\n" + .'描述长度为2~256个字符,以英文字母或中文开头,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ReservationDescription', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建资源(接口功能)。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-230e-11e9-8e44-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.CidrReservation', + 'errorMessage' => 'ResourceNotFound.CidrReservation', + ], + [ + 'errorCode' => 'IllegalParamFormat', + 'errorMessage' => 'IllegalParamFormat', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改交换机预留网段的名称和描述信息', + 'description' => '**ModifyVSwitchCidrReservationAttribute**接口不支持在同一个交换机中并发修改预留网段的名称和描述信息。', + ], + 'CreateVSwitch' => [ + 'summary' => '创建一个交换机。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的交换机所属的可用区ID。'."\n" + ."\n" + .'您可以通过调用[DescribeZones](~~36064~~)接口获取可用区ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou-b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的交换机的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机的网段。交换机网段要求如下: '."\n" + ."\n" + .'- 交换机的网段的掩码长度范围为16~29位。 '."\n" + ."\n" + .'- 交换机的网段必须从属于所在VPC的网段。 '."\n" + ."\n" + .'- 交换机的网段不能与所在VPC中路由条目的目标网段相同,但可以是目标网段的子集。 '."\n" + ."\n" + .'- 交换机的网段不能是100.64.0.0/10及其子网网段。'."\n" + ."\n" + .'> 交换机创建成功后,无法修改网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '172.16.0.0/24', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机IPv6网段的最后8比特位,取值:**0**~**255**。'."\n" + .'仅交换机所属VPC已开启IPv6时,您可以传入此参数为交换机分配IPv6网段。IPv6网段分配后,无法修改为其他网段。需确保与所属VPC下其他交换机的网段不重叠。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的交换机所属的VPC ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-257gqcdfvx6n****', + ], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机的名称。 '."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'vSwitch-1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机的描述信息。 '."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'vSwitch', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'VpcIpv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的IPv6网段。当交换机所属VPC具有多个IPv6网段时,您可以传入此参数指定交换机所属的IPv6网段范围。如不指定,将选择VPC开启IPv6时分配的IPv6网段。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:0:6a::/56', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '创建的交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-25navfgbue4g****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ResourceConflict', + 'errorMessage' => 'vpc only support one cloud box.', + ], + [ + 'errorCode' => 'OperationFailed.IdempotentTokenProcessing', + 'errorMessage' => 'Action is processing.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'InvalidVSwitchName.Malformed', + 'errorMessage' => 'Specified virtual switch name is not valid.', + ], + [ + 'errorCode' => 'InvalidVSwitchDiscription.Malformed', + 'errorMessage' => 'Specified virtual switch description is not valid.', + ], + [ + 'errorCode' => 'Abs.Vpc.InvalidDescription.Malformed', + 'errorMessage' => 'Specified virtual switch name is not valid.', + ], + [ + 'errorCode' => 'MissingParam.vpcId', + 'errorMessage' => 'The parameter vpcId is mandatory.', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified CIDR block is not valid in VPC.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Overlapped', + 'errorMessage' => 'Specified CIDR block overlapped with other subnets.', + ], + [ + 'errorCode' => 'QuotaExceeded.VSwitch', + 'errorMessage' => 'Virtual switch quota exceeded.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'Some virtual switch is modifying within the same VPC.', + ], + [ + 'errorCode' => 'InvalidCirdrBlock.MaskLength', + 'errorMessage' => 'Specified CIDR block is not valid .', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'CreateVSwitch.IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'VPC.SWITCH.RULE.QUOTA.NOT.EXISTS', + 'errorMessage' => 'vSwitch quota rule not exists.', + ], + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC can not found.', + ], + [ + 'errorCode' => 'RouteConflict.AlreadyExist', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'OperationFailed.CidrAcross', + 'errorMessage' => 'Classic link instance cidr must not across.', + ], + [ + 'errorCode' => 'Duplicated.ClientToken', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6CidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.VpcIpv6Disabled', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'OperationFailed.NotifyCenCreate', + 'errorMessage' => 'Failed to notify cen when create vswitch.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'UnsupportedFeature.CloudBoxIpv6', + 'errorMessage' => 'The IPv6 feature is not supported by cloud box.', + ], + [ + 'errorCode' => 'OperationDenied.VpcPeerExist', + 'errorMessage' => 'The operation is not allowed because the VPC peer exists.', + ], + [ + 'errorCode' => 'OperationDenied.CenAttached', + 'errorMessage' => 'The operation is not allowed because the VPC is attached to CEN.', + ], + [ + 'errorCode' => 'OperationDenied.NatgwExist', + 'errorMessage' => 'The operation is not allowed because the NAT gateway exists in VPC.', + ], + [ + 'errorCode' => 'MissingParam.Ipv6CidrBlock', + 'errorMessage' => 'The parameter Ipv6CidrBlock is mandatory.', + ], + [ + 'errorCode' => 'IllegalParam.VpcIpv6CidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.OtherSubnetCreating', + 'errorMessage' => 'The operation is not allowed because the other VSwitch is creating.', + ], + [ + 'errorCode' => 'OperationDenied.VpcPeerExists', + 'errorMessage' => 'The operation is not allowed because the VpcPeer exists.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The param of CidrBlock [%s] is illegal.', + ], + [ + 'errorCode' => 'InvalidStatus.RouteEntry', + 'errorMessage' => 'RouteEntry status error.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'Specified zone does not exist.', + ], + [ + 'errorCode' => 'OperationDenied.ZoneIsDisabled', + 'errorMessage' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Invalid.NotExist', + 'errorMessage' => 'witch mask rule not exists.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VSwitchId\\": \\"vsw-25navfgbue4g****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vsw-25navfgbue4g****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '创建交换机', + 'description' => '调用该接口创建交换机时,请注意以下事项:'."\n" + ."\n" + .'- 每个VPC内的交换机数量不能超过150个。 '."\n" + ."\n" + .'- 每个交换机网段的第1个和最后3个IP地址为系统保留地址。例如192.168.1.0/24的系统保留地址为192.168.1.0、192.168.1.253、192.168.1.254和192.168.1.255。 '."\n" + ."\n" + .'- 交换机下的云产品实例数量不允许超过VPC剩余的可用云产品实例数量(15000减去当前云产品实例数量)。 '."\n" + ."\n" + .'- 一个云产品实例只能属于一个交换机。 '."\n" + ."\n" + .'- 交换机不支持组播和广播。'."\n" + ."\n" + .'- 交换机创建成功后,无法修改网段。'."\n" + ."\n" + .'- **CreateVSwitch**接口属于异步接口,即系统会返回一个实例ID,但该交换机尚未创建完成,系统后台任务仍在进行中。您可以调用'."\n" + .'[DescribeVSwitchAttributes](~~94567~~)查询交换机的创建状态:'."\n" + .' - 当交换机处于**Pending**状态时,表示交换机正在配置中。'."\n" + .' - 当交换机处于**Available**状态时,表示交换机可用。'."\n" + .'- **CreateVSwitch**接口不支持在同一个VPC中并发创建交换机。'."\n" + .'- **CreateVSwitch**接口不支持创建100.64.0.0/10及其子网网段的交换机。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateDefaultVSwitch' => [ + 'summary' => '调用CreateDefaultVSwitch接口创建一个默认的交换机。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的默认交换机所属的可用区ID。'."\n" + ."\n" + .'您可以通过调用[DescribeZones](~~36064~~)接口获取可用区ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou-b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的默认交换机的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机IPv6网段的最后8比特位,取值:**0**~**255**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建的默认交换机的ID。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '创建的默认交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-bp1a4b5qhmxftjimq****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'InvalidVSwitchName.Malformed', + 'errorMessage' => 'Specified virtual switch name is not valid.', + ], + [ + 'errorCode' => 'InvalidVSwitchDiscription.Malformed', + 'errorMessage' => 'Specified virtual switch description is not valid.', + ], + [ + 'errorCode' => 'Abs.Vpc.InvalidDescription.Malformed', + 'errorMessage' => 'Specified virtual switch name is not valid.', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified CIDR block is not valid in VPC.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Overlapped', + 'errorMessage' => 'Specified CIDR block overlapped with other subnets.', + ], + [ + 'errorCode' => 'QuotaExceeded.VSwitch', + 'errorMessage' => 'Virtual switch quota exceeded.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'Some virtual switch is modifying within the same VPC.', + ], + [ + 'errorCode' => 'InvalidCirdrBlock.MaskLength', + 'errorMessage' => 'Specified CIDR block is not valid .', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'CreateVSwitch.IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'VPC.SWITCH.RULE.QUOTA.NOT.EXISTS', + 'errorMessage' => 'vSwitch quota rule not exists.', + ], + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC can not found.', + ], + [ + 'errorCode' => 'RouteConflict.AlreadyExist', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'OperationFailed.CidrAcross', + 'errorMessage' => 'Classic link instance cidr must not across.', + ], + [ + 'errorCode' => 'Duplicated.ClientToken', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6CidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.VpcIpv6Disabled', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'OperationFailed.DefaultVpcNotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedFeature.CloudBoxIpv6', + 'errorMessage' => 'The IPv6 feature is not supported by cloud box.', + ], + [ + 'errorCode' => 'OperationDenied.VpcPeerExist', + 'errorMessage' => 'The operation is not allowed because the VPC peer exists.', + ], + [ + 'errorCode' => 'OperationDenied.CenAttached', + 'errorMessage' => 'The operation is not allowed because the VPC is attached to CEN.', + ], + [ + 'errorCode' => 'OperationDenied.NatgwExist', + 'errorMessage' => 'The operation is not allowed because the NAT gateway exists in VPC.', + ], + [ + 'errorCode' => 'OperationDenied.OtherSubnetCreating', + 'errorMessage' => 'other subnet is creating', + ], + [ + 'errorCode' => 'OperationFailed.DefaultVSwitchExist', + 'errorMessage' => 'A default vSwitch already exists in the zone.', + ], + [ + 'errorCode' => 'InvalidStatus.RouteEntry', + 'errorMessage' => 'RouteEntry status error.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'Specified zone does not exist.', + ], + [ + 'errorCode' => 'OperationDenied.ZoneIsDisabled', + 'errorMessage' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Invalid.NotExist', + 'errorMessage' => 'witch mask rule not exists.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VSwitchId\\": \\"vsw-bp1a4b5qhmxftjimq****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vsw-bp1a4b5qhmxftjimq****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '创建默认交换机', + 'description' => '调用该接口创建默认交换机时,请注意以下事项:'."\n" + .'- 每个默认交换机网段的第1个和最后3个IP地址为系统保留地址。例如192.168.1.0/24的系统保留地址为192.168.1.0、192.168.1.253、192.168.1.254和192.168.1.255。 '."\n" + ."\n" + .'- 默认交换机下的云产品实例数量不允许超过VPC剩余的可用云产品实例数量(15000减去当前云产品实例数量)。 '."\n" + ."\n" + .'- 默认交换机不支持组播和广播。'."\n" + ."\n" + .'- 默认交换机创建成功后,无法修改网段。'."\n" + ."\n" + .'- **CreateDefaultVSwitch**接口属于异步接口,即系统会返回一个实例ID,但该默认交换机尚未创建完成,系统后台任务仍在进行中。您可以调用[DescribeVSwitchAttributes](~~94567~~)查询默认交换机的创建状态:'."\n" + .' - 当默认交换机处于**Pending**状态时,表示默认交换机正在配置中。'."\n" + .' - 当默认交换机处于**Available**状态时,表示默认交换机可用。'."\n" + .'- 当指定地域的可用区已有默认交换机时,调用该接口创建默认交换机会失败。'."\n" + .'- 创建默认交换机时,需要先创建一个默认VPC。您可以通过调用[CreateDefaultVpc](~~609152~~)接口创建默认VPC。', + ], + 'CheckCanAllocateVpcPrivateIpAddress' => [ + 'summary' => '调用CheckCanAllocateVpcPrivateIpAddress接口查询交换机下的私网IP地址是否可用。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => '要查询的私网IP地址所属交换机的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VSwitchId', + 'description' => '要查询的私网IP地址所属的交换机ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-m5ew3t46z2drmifnt****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'title' => 'PrivateIpAddress', + 'description' => '要查询是否可用的私网IP地址,该私网IP地址必须属于**VSwitchId**参数中输入的交换机。', + 'type' => 'string', + 'required' => true, + 'example' => '10.0.0.7', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'title' => 'IpVersion', + 'description' => '要查询的私网IP地址的类型。取值:'."\n" + ."\n" + .'- **ipv4**:IPv4类型。当查询的私网IP地址为IPv4类型时,该参数为选填。'."\n" + .'- **ipv6**:IPv6类型。当查询的私网IP地址为IPv6类型时,该参数为必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema object', + 'description' => 'Schema object', + 'type' => 'object', + 'properties' => [ + 'CanAllocate' => [ + 'description' => '查询的私网IP地址是否可用。取值:'."\n" + ."\n" + .'- **true**:指定交换机下,该私网IP地址没有被占用,可以使用。'."\n" + .'- **false**:指定交换机下,该私网IP地址已被占用,无法使用。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '93360B0-2969-40BF-8542-EBB34FD358AB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'PARAMETER_ILLEGAL', + 'errorMessage' => 'Parameter illegal.Parameter is ipVersion', + ], + [ + 'errorCode' => 'ResourceNotFound.VSwitchId', + 'errorMessage' => 'The specified resource vswitch is not found.', + ], + [ + 'errorCode' => 'Mismatch.VSwitchAndPrivateIpAddress', + 'errorMessage' => 'The vswitch and privateIpAddress are mismatched.', + ], + [ + 'errorCode' => 'IllegalParam.PrivateIpAddress', + 'errorMessage' => 'The specified PrivateIpAddress is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CanAllocate\\": true,\\n \\"RequestId\\": \\"93360B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n 93360B0-2969-40BF-8542-EBB34FD358AB\\n","errorExample":""}]', + 'title' => '查询交换机下的私网IP可用性', + 'description' => '- 每个交换机的第1个和最后3个IPv4地址为系统保留地址,第1个和最后9个IPv6地址为系统保留地址,不允许分配。', + ], + 'DeleteVSwitch' => [ + 'summary' => '调用DeleteVSwitch接口删除交换机。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '37697', + 'abilityTreeNodes' => [ + 'FEATUREvpc1WY1RZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的交换机的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-asdfjlna****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的交换机的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除交换机。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行删除。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.OtherSubnetProcessing', + 'errorMessage' => 'other subnet is processing.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'vpc subnet is in middle status.', + ], + [ + 'errorCode' => 'DependencyViolation', + 'errorMessage' => 'Resources deployed in the vSwitch have not been deleted.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.HaVip', + 'errorMessage' => 'VSwitch cannot be deleted when there are some HaVip dependent with it.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteTable', + 'errorMessage' => 'VSwitch cannot be deleted when associated with route table', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'DependencyViolation.SNAT', + 'errorMessage' => 'The vswitch cannot be deleted when used by snat.', + ], + [ + 'errorCode' => 'DeleteVSwitch.IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'AttrMismatching.NaclAndBindInstance', + 'errorMessage' => 'The network acl and resource not in same vpc.', + ], + [ + 'errorCode' => 'InvalidResource.NotBinding', + 'errorMessage' => 'The resource has not been binded.', + ], + [ + 'errorCode' => 'DependencyViolation.SnatEntry', + 'errorMessage' => 'VSwitch cannot be deleted when snat entry exist.', + ], + [ + 'errorCode' => 'DependencyViolation.NetworkAcl', + 'errorMessage' => 'VSwitch cannot be deleted when network acl exist.', + ], + [ + 'errorCode' => 'DependencyViolation.EnhancedNatgw', + 'errorMessage' => 'VSwitch cannot be deleted when natgw exist.', + ], + [ + 'errorCode' => 'DependencyViolation.ResourceShare', + 'errorMessage' => 'VSwitch cannot be deleted when resource share exist.', + ], + [ + 'errorCode' => 'OperationFailed.SystemBusy', + 'errorMessage' => 'Operation failed because system is busy.', + ], + [ + 'errorCode' => 'DependencyViolation.MulticastDomain', + 'errorMessage' => 'VSwitch cannot be deleted when associated with multicast domain.', + ], + [ + 'errorCode' => 'DependencyViolation.VSwitchCidrReservation', + 'errorMessage' => 'VSwitch cannot be deleted when vswitch cidr reservation exist.', + ], + [ + 'errorCode' => 'DependencyViolation.CloudService', + 'errorMessage' => 'VSwitch cannot be deleted when uesd by cloud service.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'VSwitch not exist.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6InstanceExist', + 'errorMessage' => 'Operation failed because vswitch has ipv6 instance.', + ], + [ + 'errorCode' => 'DependencyViolation.Ipv6Address', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.%s', + 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified instance is not found during access authentication.', + ], + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'Vswtich status not stable.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterInterface', + 'errorMessage' => 'Specified object has dependent resources RouterInterface.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'IncorrectVSwitchId', + 'errorMessage' => 'Specified vSwtich instance is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'VSwitch not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '删除交换机', + 'description' => '调用该接口删除交换机时,请注意以下事项: '."\n" + ."\n" + .'- 删除交换机之前,需要先释放或移走VPC内的所有资源,包括交换机、云产品实例、路由器接口、HaVip等。 '."\n" + ."\n" + .'- 只有处于**Available**状态的交换机可以被删除。 '."\n" + ."\n" + .'- 交换机所在的VPC正在创建或删除交换机或路由条目时,无法删除交换机。 '."\n" + ."\n" + .'- **DeleteVSwitch**接口属于异步接口,即系统会返回一个请求ID,但该交换机尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVSwitchAttributes](~~94567~~)查询交换机的删除状态:'."\n" + .' - 当交换机处于**Pending**状态时,表示交换机正在删除中。'."\n" + .' - 当查询不到指定的交换机时,表示交换机删除成功。'."\n" + ."\n" + .'- **DeleteVSwitch**接口不支持并发删除同一个交换机。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVSwitchAttribute' => [ + 'summary' => '调用ModifyVSwitchAttribute接口修改指定交换机的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 交换机的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-25nacdfvue4****', + ], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机要修改的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'VSwitch-1', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机要修改的描述信息。 '."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my vswitch.', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机IPv6网段的最后8比特位,取值:**0**~**255**。'."\n" + ."\n" + .'仅交换机所属VPC已开启IPv6时,您可以传入此参数为交换机分配IPv6网段。IPv6网段分配后,无法修改为其他网段。需确保与所属VPC下其他交换机的网段不重叠。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'EnableIPv6', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机是否开启IPv6。取值:'."\n" + ."\n" + .'- **true**:开启IPv6。需所属VPC已开启IPv6,并同时传入Ipv6CidrBlock为交换机分配IPv6网段。'."\n" + .'- **false**(默认值):关闭。为交换机关闭IPv6时,需确保IPv6地址未被使用,且不可同时传入Ipv6CidrBlock。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'VpcIpv6CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所在VPC的IPv6网段。'."\n" + .'当交换机所属VPC具有多个IPv6网段时,您可以传入此参数指定交换机所属的IPv6网段范围。如不指定,将选择VPC开启IPv6时分配的 IPv6 网段。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:312:3e00::/56', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVSwitchName.Malformed', + 'errorMessage' => 'Specified virtual switch name is not valid.', + ], + [ + 'errorCode' => 'InvalidVSwitchDiscription.Malformed', + 'errorMessage' => 'Specified virtual switch description is not valid.', + ], + [ + 'errorCode' => 'Forbidden.VRouterNotFound', + 'errorMessage' => 'specified virtual switch is not found during access authentication.', + ], + [ + 'errorCode' => 'UnsupportedFeature.CloudBoxIpv6', + 'errorMessage' => 'The IPv6 feature is not supported by cloud box.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6InstanceExist', + 'errorMessage' => 'Operation failed because vswitch has ipv6 instance.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcRouteEntry', + 'errorMessage' => 'The status of the specified routeEntry is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.IPv6Disabled', + 'errorMessage' => 'Operation failed because IPv6 is not enabled for the vSwitch.', + ], + [ + 'errorCode' => 'ParamExclusive.DisableIpv6AndIpv6CidrBlock', + 'errorMessage' => 'DisableIpv6 and Ipv6Cidr are mutually exclusive.', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.IPv6CidrReservation', + 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IllegalParam.VpcIpv6CidrBlock', + 'errorMessage' => 'The parameter of VpcIPv6CidrBlock is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6AlreadyEnabled', + 'errorMessage' => 'Operation failed because the IPv6 is enabled already.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', + 'errorMessage' => 'Operation failed because the specified IPv6 CIDR block is used already.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6CidrBlock', + 'errorMessage' => 'The parameter of Ipv6CidrBlock is illegal.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + [ + 'errorCode' => 'OperationFailed.VpcIpv6Disabled', + 'errorMessage' => 'Operation failed because the VPC has not enabled IPv6.', + ], + [ + 'errorCode' => 'IncorrectStatus.VSwitch', + 'errorMessage' => 'The specified vSwitch status is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6CidrBlockUsed', + 'errorMessage' => 'Operation failed because the specified IPv6 CIDR block is used already.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified virtual switch does not exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'The system is busy. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\r\\n","errorExample":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n"}]', + 'title' => '修改指定交换机的配置信息', + 'description' => '- **ModifyVSwitchAttribute**接口属于异步接口,即系统会返回一个请求ID,但该交换机的配置信息尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVSwitchAttributes](~~94567~~)查询交换机的修改状态:'."\n" + .' - 当交换机的状态处于**Pending**状态时,表示交换机的配置信息正在修改中。'."\n" + .' - 当交换机状态处于**Available**状态时,表示交换机可用。'."\n" + .'- **ModifyVSwitchAttribute**接口不支持并发修改同一个交换机的配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVSwitches' => [ + 'summary' => '查询可组网的信息,内网按vswitch进行组网。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的交换机所属VPC的ID。 '."\n" + ."\n" + .'> **RegionId**和**VpcId**参数至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-25cdvfeq58pl****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的交换机的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-23dscddcffvf3****', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所属可用区的ID。您可以通过调用[DescribeZones](~~36064~~)接口获取可用区ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-d', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所属地域的ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n" + ."\n" + .'> **RegionId**和**VpcId**参数至少输入一个。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'vSwitch', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建资源(接口功能)。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IsDefault', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询指定地域下的默认交换机,取值: '."\n" + ."\n" + .'- **true**:查询指定地域下的默认交换机。 '."\n" + ."\n" + .'- **false**:不查询指定地域下的默认交换机。 '."\n" + ."\n" + .'如果不传入该参数,系统默认查询指定地域下的所有交换机。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => ' 列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => ' 分页查询时每页的行数,最大值为**50**。默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'VSwitchOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源归属的阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2546073170691****', + ], + ], + [ + 'name' => 'EnableIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询指定地域下开启IPv6网段的交换机,取值:'."\n" + ."\n" + .'- **true**:查询指定地域下开启IPv6网段的交换机。'."\n" + ."\n" + .'- **false**:不查询指定地域下开启IPv6网段的交换机。'."\n" + ."\n" + .'如果不传入该参数,系统默认查询指定地域下的所有交换机。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的信息。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9A572171-4E27-40D1-BD36-D26C9E71E29E', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VSwitches' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitch' => [ + 'description' => '交换机的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机数据结构体。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '交换机所属VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-257gcdcdq64****', + ], + 'Status' => [ + 'description' => '交换机的状态,取值: '."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + .' '."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'CreationTime' => [ + 'description' => '交换机的创建时间。', + 'type' => 'string', + 'example' => '2022-01-18T12:43:57Z', + ], + 'IsDefault' => [ + 'description' => '是否是默认交换机。取值:'."\n" + ."\n" + .'- **true**:是默认交换机。'."\n" + ."\n" + .'- **false**:非默认交换机。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AvailableIpAddressCount' => [ + 'description' => '交换机中可用的IP地址数量。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'NetworkAclId' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'example' => 'nacl-a2do9e413e0spzasx****', + ], + 'OwnerId' => [ + 'description' => '资源归属的阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '25346073170691****', + ], + 'VSwitchId' => [ + 'description' => '交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-25bcdxs7pv1****', + ], + 'CidrBlock' => [ + 'description' => '交换机的IPv4网段。', + 'type' => 'string', + 'example' => '172.16.0.0/24', + ], + 'Description' => [ + 'description' => '交换机的描述信息。', + 'type' => 'string', + 'example' => 'VSwitchDescription', + ], + 'ResourceGroupId' => [ + 'description' => '交换机所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + 'ZoneId' => [ + 'description' => '交换机所属的可用区。', + 'type' => 'string', + 'example' => 'cn-hangzhou-d', + ], + 'Ipv6CidrBlock' => [ + 'description' => '交换机的IPv6网段。', + 'type' => 'string', + 'example' => '2408:4002:10c4:4e03::/64', + ], + 'VSwitchName' => [ + 'description' => '交换机的名称。', + 'type' => 'string', + 'example' => 'vSwitch', + ], + 'ShareType' => [ + 'description' => '交换机的共享类型。'."\n" + ."\n" + .'- 取值为空时,表示该交换机为普通交换机。'."\n" + .'- 取值为**Shared**时,表示该交换机为共享交换机。'."\n" + .'- 取值为**Sharing**时,表示该交换机正在被他人共享。'."\n", + 'type' => 'string', + 'example' => 'Shared', + ], + 'EnabledIpv6' => [ + 'description' => '是否为交换机开启IPv6网段并配置交换机的IPv6网段。取值如下:'."\n" + .'- **true**:开启。'."\n" + .'- **false**:不开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '交换机标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息数据结构体。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '交换机绑定的标签键。', + 'type' => 'string', + 'example' => 'department', + ], + 'Value' => [ + 'description' => '交换机绑定的标签值。', + 'type' => 'string', + 'example' => 'dev', + ], + ], + ], + ], + ], + ], + 'RouteTable' => [ + 'description' => '路由表信息。', + 'type' => 'object', + 'properties' => [ + 'RouteTableId' => [ + 'description' => '交换机关联的路由表ID。', + 'type' => 'string', + 'example' => 'vrt-bp145q7glnuzdv****', + ], + 'RouteTableType' => [ + 'description' => '交换机关联的路由表的类型:'."\n" + ."\n" + .'- **System**:系统路由表。'."\n" + ."\n" + .'- **Custom**:自定义路由表。', + 'type' => 'string', + 'example' => 'System', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC can not found.', + ], + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.OwnerId', + 'errorMessage' => 'The specified parameter VSwitchOwnerId is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcIdNumber.NotSupported', + 'errorMessage' => 'The number of vpcIds exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidVSwitchIdNumber.NotSupported', + 'errorMessage' => 'The number of vSwitchIds exceeds the limit.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'VSwitch not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"9A572171-4E27-40D1-BD36-D26C9E71E29E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"VSwitches\\": {\\n \\"VSwitch\\": [\\n {\\n \\"VpcId\\": \\"vpc-257gcdcdq64****\\",\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2022-01-18T12:43:57Z\\",\\n \\"IsDefault\\": true,\\n \\"AvailableIpAddressCount\\": 1,\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spzasx****\\",\\n \\"OwnerId\\": 0,\\n \\"VSwitchId\\": \\"vsw-25bcdxs7pv1****\\",\\n \\"CidrBlock\\": \\"172.16.0.0/24\\",\\n \\"Description\\": \\"VSwitchDescription\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-d\\",\\n \\"Ipv6CidrBlock\\": \\"2408:4002:10c4:4e03::/64\\",\\n \\"VSwitchName\\": \\"vSwitch\\",\\n \\"ShareType\\": \\"Shared\\",\\n \\"EnabledIpv6\\": true,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"department\\",\\n \\"Value\\": \\"dev\\"\\n }\\n ]\\n },\\n \\"RouteTable\\": {\\n \\"RouteTableId\\": \\"vrt-bp145q7glnuzdv****\\",\\n \\"RouteTableType\\": \\"System\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 9A572171-4E27-40D1-BD36-D26C9E71E29E\\n 1\\n 1\\n \\n vpc-257gcdcdq64****\\n Available\\n 2022-01-18T12:43:57Z\\n true\\n 1\\n nacl-a2do9e413e0spzasx****\\n 253460731706911260\\n vsw-25bcdxs7pv1****\\n 172.16.0.0/24\\n VSwitchDescription\\n rg-acfmxazb4ph6aiy****\\n cn-hangzhou-d\\n 2408:4002:10c4:4e03::/64\\n vSwitch\\n Shared\\n true\\n \\n department\\n dev\\n \\n \\n vrt-bp145q7glnuzdv****\\n System\\n \\n \\n","errorExample":""}]', + 'title' => '查询可组网信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVSwitchAttributes' => [ + 'summary' => '调用DescribeVSwitchAttributes接口查询指定交换机的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的交换机ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-25naue4g****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会查询交换机的配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接查询交换机的配置信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '交换机的详细信息。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '交换机所属的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-257gq642n****', + ], + 'Status' => [ + 'description' => '交换机的状态,取值:'."\n" + ."\n" + .'- **Pending**:配置中。 '."\n" + ."\n" + .'- **Available**:可用。'."\n", + 'type' => 'string', + 'example' => 'Pending', + ], + 'CreationTime' => [ + 'description' => '交换机的创建时间。', + 'type' => 'string', + 'example' => '2021-08-22T10:40:25Z', + ], + 'IsDefault' => [ + 'description' => '是否是默认交换机。取值:'."\n" + ."\n" + .'- **true**:默认交换机。'."\n" + .'- **false**:非默认交换机。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'AvailableIpAddressCount' => [ + 'description' => '可用IP数量。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12', + ], + 'NetworkAclId' => [ + 'description' => '网络ACL规则。', + 'type' => 'string', + 'example' => '1', + ], + 'OwnerId' => [ + 'description' => '资源归属的阿里云账号ID。'."\n" + ."\n" + .'>该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。>', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '28768383240243****', + ], + 'VSwitchId' => [ + 'description' => '交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-25b7pv15t****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7B48B4B9-1EAD-469F-B488-594DAB4B6A1A', + ], + 'CidrBlock' => [ + 'description' => '交换机的私网地址范围。', + 'type' => 'string', + 'example' => '192.168.0.1/24', + ], + 'Description' => [ + 'description' => '交换机的描述。', + 'type' => 'string', + 'example' => 'abc', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + 'ZoneId' => [ + 'description' => '交换机的所属可用区。', + 'type' => 'string', + 'example' => 'cn-beijing-a', + ], + 'Ipv6CidrBlock' => [ + 'description' => '交换机的IPv6网段。', + 'type' => 'string', + 'example' => '2408:XXXX:3c5:44e::/64', + ], + 'VSwitchName' => [ + 'description' => '交换机名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'ShareType' => [ + 'description' => '交换机的共享类型。'."\n" + ."\n" + .'- 取值为空时,表示该交换机为普通交换机。'."\n" + .'- 取值为**Shared**时,表示该交换机为共享交换机。'."\n" + .'- 取值为**Sharing**时,表示该交换机正在被他人共享。', + 'type' => 'string', + 'example' => 'Shared', + ], + 'EnabledIpv6' => [ + 'description' => '是否为交换机开启IPv6网段并配置交换机的IPv6网段。取值:'."\n" + .'- **true**:开启。'."\n" + .'- **false**:不开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'RouteTable' => [ + 'description' => '交换机的路由表信息。', + 'type' => 'object', + 'properties' => [ + 'RouteTableId' => [ + 'description' => '交换机关联的路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp145q7glnuzdv****', + ], + 'RouteTableType' => [ + 'description' => '路由表类型。取值:'."\n" + ."\n" + .'- **System**:系统路由表。'."\n" + ."\n" + .'- **Custom**:自定义路由表。', + 'type' => 'string', + 'example' => 'System', + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'Specified VSwitch can not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-257gq642n****\\",\\n \\"Status\\": \\"Pending\\",\\n \\"CreationTime\\": \\"2021-08-22T10:40:25Z\\",\\n \\"IsDefault\\": false,\\n \\"AvailableIpAddressCount\\": 12,\\n \\"NetworkAclId\\": \\"1\\",\\n \\"OwnerId\\": 0,\\n \\"VSwitchId\\": \\"vsw-25b7pv15t****\\",\\n \\"RequestId\\": \\"7B48B4B9-1EAD-469F-B488-594DAB4B6A1A\\",\\n \\"CidrBlock\\": \\"192.168.0.1/24\\",\\n \\"Description\\": \\"abc\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"ZoneId\\": \\"cn-beijing-a\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:3c5:44e::/64\\",\\n \\"VSwitchName\\": \\"test\\",\\n \\"ShareType\\": \\"Shared\\",\\n \\"EnabledIpv6\\": true,\\n \\"RouteTable\\": {\\n \\"RouteTableId\\": \\"vtb-bp145q7glnuzdv****\\",\\n \\"RouteTableType\\": \\"System\\"\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n vpc-257gq642n****\\n Pending\\n 2021-08-22T10:40:25Z\\n false\\n 12\\n 1\\n 287683832402436800\\n vsw-25b7pv15t****\\n 7B48B4B9-1EAD-469F-B488-594DAB4B6A1A\\n 192.168.0.1/24\\n abc\\n rg-acfmxazb4ph****\\n cn-beijing-a\\n 2408:XXXX:3c5:44e::/64\\n test\\n Shared\\n \\n vtb-bp145q7glnuzdv****\\n System\\n \\n \\n FinanceDept\\n FinanceJoshua\\n \\n","errorExample":""}]', + 'title' => '查询指定交换机的配置信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVSwitchCidrReservation' => [ + 'summary' => '删除交换机预留网段。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VSwitchCidrReservationId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的交换机预留网段的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vcr-bp1m12saqteraw3rp****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建资源(接口功能)。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.IpPrefix', + 'errorMessage' => 'DependencyViolation.IpPrefix', + ], + [ + 'errorCode' => 'IncorrectStatus.CidrReservation', + 'errorMessage' => 'The status of the CIDR reservation is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.CidrReservation', + 'errorMessage' => 'reserve segment not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.CidrReservation', + 'errorMessage' => 'ResourceNotFound.CidrReservation', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListVSwitchCidrReservations', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除交换机预留网段', + 'description' => '- 在您调用该接口删除交换机预留网段前,请确保从该预留网段给弹性网卡ENI(Elastic Network Interface)分配的前缀网段均已删除。如有请先调用[UnassignPrivateIpAddresses](~~85919~~)或[UnassignIpv6Addresses](~~98611~~)接口释放弹性网卡的IPv4或者IPv6地址。'."\n" + .'- **DeleteVSwitchCidrReservation**接口属于异步接口,即系统会返回一个实例ID,但该交换机预留网段尚未删除成功,系统后台任务仍在进行中。您可以调用'."\n" + .'[ListVSwitchCidrReservations](~~610155~~)查询交换机预留网段的删除状态:'."\n" + .' - 当交换机预留网段处于**Releasing**状态时,表示交换机预留网段正在释放中。'."\n" + .' - 当交换机预留网段处于**Released**状态时,表示交换机预留网段已释放。', + ], + 'CreateRouteEntry' => [ + 'summary' => '调用CreateRouteEntry在VPC路由器或边界路由器(VBR)上创建自定义路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37635', + 'abilityTreeNodes' => [ + 'FEATUREvpcJSBF65', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 要添加自定义路由条目的路由表ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp145q7glnuzd****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由条目的目标网段,支持IPv4、IPv6、前缀列表的目标网段和前缀列表的实例ID。需满足以下要求:'."\n" + .' '."\n" + .'- 目标网段不能指向100.64.0.0/10或被100.64.0.0/10包含。 '."\n" + .' '."\n" + .'- 同一张路由表内的不同路由条目的目标网段不能相同。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'NextHopId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由条目的下一跳实例的ID。'."\n" + .'> 若选择NextHopType为ECR,您可以通过[DescribeExpressConnectRouterAssociation](~~2712069~~)接口获取AssociationId作为下一跳ID。'."\n" + .'> -', + 'type' => 'string', + 'required' => false, + 'example' => 'i-j6c2fp57q8rr4jlu****', + ], + ], + [ + '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' => 'RouteEntryName', + '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' => 'test', + ], + ], + [ + 'name' => 'NextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由条目的下一跳的类型,取值: '."\n" + ."\n" + .'- **Instance**(默认值):ECS实例。'."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。 '."\n" + ."\n" + .'- **RouterInterface**:路由器接口。'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + ."\n" + .'- **VpnGateway**:VPN网关。'."\n" + ."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + ."\n" + .'- **NatGateway**:NAT网关。'."\n" + ."\n" + .'- **Attachment**:转发路由器。'."\n" + ."\n" + .'- **VpcPeer**:VPC对等连接。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **Ecr**:专线网关。'."\n" + .'- **GatewayLoadBalancerEndpoint**:网关型负载均衡终端节点。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'HaVip' => 'HaVip', + 'VpnGateway' => 'VpnGateway', + 'GatewayLoadBalancerEndpoint' => 'GatewayLoadBalancerEndpoint', + 'VpcPeer' => 'VpcPeer', + 'Instance' => 'Instance', + 'NetworkInterface' => 'NetworkInterface', + 'NatGateway' => 'NatGateway', + 'Attachment' => 'Attachment', + 'Ipv4Gateway' => 'Ipv4Gateway', + 'GatewayEndpoint' => 'GatewayEndpoint', + 'Ecr' => 'Ecr', + 'RouterInterface' => 'RouterInterface', + 'IPv6Gateway' => 'IPv6Gateway', + ], + 'example' => 'RouterInterface', + ], + ], + [ + 'name' => 'NextHopList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '下一跳的信息。', + 'type' => 'array', + 'items' => [ + 'description' => '下一跳的信息。', + 'type' => 'object', + 'properties' => [ + 'NextHopId' => [ + 'description' => 'ECMP路由的下一跳实例的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ri-2zeo3xzyf3cd8r4****', + ], + 'Weight' => [ + 'description' => 'ECMP路由的下一跳的路由权重。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + 'NextHopType' => [ + 'description' => 'ECMP路由的下一跳的类型,目前仅取值:**RouterInterface**(路由器接口)。', + 'type' => 'string', + 'required' => false, + 'example' => 'RouterInterface', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建路由条目。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '自定义路由条目的ID。', + 'type' => 'object', + 'properties' => [ + 'RouteEntryId' => [ + 'description' => '自定义路由条目的ID。', + 'type' => 'string', + 'example' => 'rte-sn6vjkioxte1gz83z****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The specified CidrBlock is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Route entry quota exceeded in this route table.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'InvalidCIDRBlock.Duplicate', + 'errorMessage' => 'Specified CIDR block is already exists.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'Current instance status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current virtual switch status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'InvalidNextHop.NotFound', + 'errorMessage' => 'Specified next hop does not exist.', + ], + [ + 'errorCode' => 'InvalidVRouter.NotFound', + 'errorMessage' => 'vRouter not exists.', + ], + [ + 'errorCode' => 'InvalidVPC.NotFound', + 'errorMessage' => 'vpc not exists.', + ], + [ + 'errorCode' => 'InvalidNexthopTypeAndList.BothNull', + 'errorMessage' => 'both nexthopType and nextHopList are null.', + ], + [ + 'errorCode' => 'InvalidNexthopTypeAndList.BothNotNull', + 'errorMessage' => 'both nexthopType and nextHopList are not null.', + ], + [ + 'errorCode' => 'InvalidRouterInterface', + 'errorMessage' => 'invalid router interface.', + ], + [ + 'errorCode' => 'InvalidOppositeRouterType', + 'errorMessage' => 'nexthop list cannot only contain router interface whose opposite router interface is on vbr.', + ], + [ + 'errorCode' => 'InvalidNexthopListSize', + 'errorMessage' => 'nexthop size is illegal. Must be between 2 and 4.', + ], + [ + 'errorCode' => 'InvalidEntryRuleQuota.NotFound', + 'errorMessage' => 'Route entry quota rule not exists.', + ], + [ + 'errorCode' => 'Forbidden.CheckEntryRuleQuota', + 'errorMessage' => 'Route entry quota rule check error.', + ], + [ + 'errorCode' => 'InvalidVBRStatus', + 'errorMessage' => 'invalid virtual border router status.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBusinessStatus', + 'errorMessage' => 'invalid physical connection business status.', + ], + [ + 'errorCode' => 'InvalidRouterType', + 'errorMessage' => 'Cannot specify nexthop list in vbr\'s route table.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', + ], + [ + 'errorCode' => 'CountLimitExceed.HaVipRouteEntry', + 'errorMessage' => 'The count of route entry to HaVip in one route table is exceeded.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.Duplicate', + 'errorMessage' => 'The route entry already exist.', + ], + [ + 'errorCode' => 'InvalidParam', + 'errorMessage' => 'The Ecmp routerEntry with router interfaces local vgw vip not match.', + ], + [ + 'errorCode' => 'INVALID_WEIGHT_PARAM', + 'errorMessage' => 'Specified value of weight invalid', + ], + [ + 'errorCode' => 'FORBIDDEN_USE_VPC_AS_INTERNET_GATEWAY', + 'errorMessage' => 'The Specified CIDR must be in vpc CIDR.', + ], + [ + 'errorCode' => 'InvalidNexthop', + 'errorMessage' => 'The Specified nexthop illegal.', + ], + [ + 'errorCode' => 'INVALID_VPC_ID', + 'errorMessage' => 'The Specified VpcId not match.', + ], + [ + 'errorCode' => 'InvalidRouteEntrySize', + 'errorMessage' => 'The Specified routerEntry size not legal.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'InvalidRouteEntry', + 'errorMessage' => 'Specified routeEntry not exist.', + ], + [ + 'errorCode' => 'InvalidDestinationCidrBlock', + 'errorMessage' => 'The specified destinationCidrBlock must not included in black list cidr.', + ], + [ + 'errorCode' => 'Forbidden.VRouterNotFound', + 'errorMessage' => 'Specified virtual switch is not found during access authentication.', + ], + [ + 'errorCode' => 'DefaultValidate.Error', + 'errorMessage' => 'validte fail.', + ], + [ + 'errorCode' => 'Region.NotSupport', + 'errorMessage' => 'The specified region does not currently support nextHopType for networkInterface', + ], + [ + 'errorCode' => 'OperationFailed.NotifyCenCreate', + 'errorMessage' => 'Failed to notify cen when create route entry.', + ], + [ + 'errorCode' => 'Forbidden.PrivateIpNotFound', + 'errorMessage' => 'Private ip address not exist.', + ], + [ + 'errorCode' => 'OperationUnsupported.InactiveMode', + 'errorMessage' => 'Vpc multi scope route only support active standby.', + ], + [ + 'errorCode' => 'InvalidRouteEntryName.Malformed', + 'errorMessage' => 'Specified RouteEntry name is not valid.', + ], + [ + 'errorCode' => 'IncorrectStatus.MultiScopeRiRouteEntry', + 'errorMessage' => 'MultiScope ri status must not in idle.', + ], + [ + 'errorCode' => 'OperationUnsupported.MoreThanOneVpnOrHavip', + 'errorMessage' => 'MultiScope can not support more than one vpn/havip.', + ], + [ + 'errorCode' => 'OperationUnsupported.EcmpRiTypeOrNumber', + 'errorMessage' => 'Emcp entry not supported if vpc-vbr or vbr-vlan ri does not exist.', + ], + [ + 'errorCode' => 'Duplicated.VpcNextHop', + 'errorMessage' => 'Route entry nexthop duplicate.', + ], + [ + 'errorCode' => 'OperationUnsupported.SubRouteTableECMP', + 'errorMessage' => 'Vpc subRouteTable don\'t support ecmp or multiScope.', + ], + [ + 'errorCode' => 'InvalidNexthop.NotFound', + 'errorMessage' => 'VRouterEntry nexthop does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.NextHopId', + 'errorMessage' => 'Instance not exists or not vpc vm.', + ], + [ + 'errorCode' => 'QuotaExceeded.HaVipRouteEntry', + 'errorMessage' => 'Vpc havip route entry quota exceed.', + ], + [ + 'errorCode' => 'InvalidNexthop.DirectEni', + 'errorMessage' => 'The direct Eni cannot be nexthop.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidNexthop', + 'errorMessage' => 'vpc multi scope route must has a enable nexthop.', + ], + [ + 'errorCode' => 'OperationFailed.NotifyCenDelete', + 'errorMessage' => 'Failed to notify cen when delete route entry.', + ], + [ + 'errorCode' => 'InvalidNatGateway.NotFound', + 'errorMessage' => 'Natgateway not exist.', + ], + [ + 'errorCode' => 'OperationFailed.CxpRouteExist', + 'errorMessage' => 'Cxp route alreay existed.', + ], + [ + 'errorCode' => 'OperationFailed.GetEniInfo', + 'errorMessage' => 'Failed to get networkInterface info.', + ], + [ + 'errorCode' => 'OperationUnsupported.InvalidRouterInterfaceType', + 'errorMessage' => 'Only vpc vbr interface support ecmp route.', + ], + [ + 'errorCode' => 'InvalidHaVip.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + [ + 'errorCode' => 'OperationFailed.MultiScopeType', + 'errorMessage' => 'The specified nexthop type is not support in multiScope.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'QuotaExceeded.VpnRouteEntry', + 'errorMessage' => 'Vpn route entry quota exceeded.', + ], + [ + 'errorCode' => 'InvalidAttachment.NotFound', + 'errorMessage' => 'The attachment is not found.', + ], + [ + 'errorCode' => 'OperationFailed.ActiveNetworkInterfaceNotFound', + 'errorMessage' => 'No active network interface is found on the attachment.', + ], + [ + 'errorCode' => 'InvalidNetworkInterface.NotFound', + 'errorMessage' => 'The network interface is not found on the attachment.', + ], + [ + 'errorCode' => 'OperationFailed.QueryAttachmentInfo', + 'errorMessage' => 'Failed to query attachment information.', + ], + [ + 'errorCode' => 'IllegalParam.AttachmentId', + 'errorMessage' => 'The attachment is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.NotSupportIPV6', + 'errorMessage' => 'The specified next hop does not support IPv6.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6Address', + 'errorMessage' => 'The IPv6 address of the specified next hop is being assigned or deleted.', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface', + 'errorMessage' => 'You cannot create IPv6 route entries on a primary network interface.', + ], + [ + 'errorCode' => 'OperationUnsupported.SpecifyIpOnIpv6Entry', + 'errorMessage' => 'You cannot specify the private IP address when you create IPv6 route entries.', + ], + [ + 'errorCode' => 'OperationUnsupported.MutipleIpv6Address', + 'errorMessage' => 'You cannot specify a next hop that has bound multiple IPv6 addresses.', + ], + [ + 'errorCode' => 'OperationDenied.Ipv6EntryOnCustomTable', + 'errorMessage' => 'You cannot create any IPv6 route entry on a custom route table.', + ], + [ + 'errorCode' => 'OperationDenied.CloudBoxVbrEntryAllowedInCustomRouteTable', + 'errorMessage' => 'The operation is not allowed because only the custom routing table can add a routing entry with the next hop pointing to the cloud box type VBR.', + ], + [ + 'errorCode' => 'OperationDenied.RouteTableAssociateNotCloudBoxVSwitch', + 'errorMessage' => 'The operation is not allowed because of the routing table is bound to a non-cloud box type vswitch, and routing entries pointing to the cloud box VBR cannot be added.', + ], + [ + 'errorCode' => 'OperationDenied.VbrMisMatchCloudBox', + 'errorMessage' => 'The operation is not allowed because the routing table is bound to a cloud box vswitch, and routing entries pointing to other cloud box VBRs cannot be added.', + ], + [ + 'errorCode' => 'OperationDenied.VbrIdle', + 'errorMessage' => 'The operation is not allowed because the next hop of the added routing entry is a VBR type RI at the opposite end, which cannot be in an idle state.', + ], + [ + 'errorCode' => 'OperationDenied.RouterInterfaceToDifferentVpc', + 'errorMessage' => 'The operation is not allowed because the router interface is connected to different VPCs.', + ], + [ + 'errorCode' => 'OperationDenied.RouterInterfaceFromDifferentZones', + 'errorMessage' => 'The operation is not allowed because the router interface resides in different zones.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'ResourceNotFound.VpcPeer', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcPeer', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.RouteTableTypeNotPermitted', + 'errorMessage' => 'The operation is not allowed because the type of route table is not permitted.', + ], + [ + 'errorCode' => 'OperationDenied.GatewayRouteTableNotPermitted', + 'errorMessage' => 'The operation is not allowed to create a route pointing to this nextHop type on gateway route table.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcPeerIpv6', + 'errorMessage' => 'IPv6 route entries for VPC peering connections cannot be created in this region.', + ], + [ + 'errorCode' => 'OperationDenied.VpcIpv6NotEnabled', + 'errorMessage' => 'IPv6 has not been enabled for the VPC.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv4Gateway', + 'errorMessage' => 'The status of Ipv4Gateway is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.PrefixList', + 'errorMessage' => 'The specified resource of prefixList is not found.', + ], + [ + 'errorCode' => 'UnsupportedFeature.CreatePrefixListEcmpRouteEntry', + 'errorMessage' => 'The feature of creating ecmp route entry with prefixList is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.RouterInterfaceIpv6NotEnabled', + 'errorMessage' => 'Routerinterface does not support IPv6.', + ], + [ + 'errorCode' => 'OperationDenied.NextHopTypeNotPermitted', + 'errorMessage' => 'The operation is not allowed because the nextHop type is invalid.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.PrefixList', + 'errorMessage' => 'The operation failed because the specified prefixList route entry already exists.', + ], + [ + 'errorCode' => 'OperationFailed.CidrConflictWithPrefixList', + 'errorMessage' => 'The specified CIDR block already exists in a prefixList route entry.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv4Gateway', + 'errorMessage' => 'Specified Ipv4Gateway does not exist.', + ], + [ + 'errorCode' => 'Mismatch.HaVipIdAndRouteTableId', + 'errorMessage' => 'The HaVip and RouteTable are mismatched.', + ], + [ + 'errorCode' => 'OperationFailed.OperationLocked', + 'errorMessage' => 'The operation failed because the nextHop instance is in the O&M lock state.', + ], + [ + 'errorCode' => 'Mismatch.Ipv4GatewayIdAndRouteTableId', + 'errorMessage' => 'The specified IPv4Gateway and RouteTable are not matched.', + ], + [ + 'errorCode' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch', + 'errorMessage' => 'The destination IPv6 network segment specified in the route entry overlaps with the vSwitch network segment.', + ], + [ + 'errorCode' => 'ResourceNotAssociated.Cen', + 'errorMessage' => 'The Vpc and Cen are not associated.', + ], + [ + 'errorCode' => 'IncorrectStatus.CenRelation', + 'errorMessage' => 'The status of Vpc in Cen is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.CenTypeInvalid', + 'errorMessage' => 'The operation is not allowed because of Cen type is invalid..', + ], + [ + 'errorCode' => 'ResourceNotFound.Cen', + 'errorMessage' => 'The specified resource of Cen is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.NetworkInterface', + 'errorMessage' => 'The specified resource of network interface is not found.', + ], + [ + 'errorCode' => 'RouteConflict.AlreadyExist', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouterInterface', + 'errorMessage' => 'The specified RouterInterface status is invalid.', + ], + [ + 'errorCode' => 'InvalidNexthop.UnsupportedEniBizType', + 'errorMessage' => 'The biz type of NetworkInterface is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.RouterInterfaceIpv6', + 'errorMessage' => 'RouterInterface does not support IPv6.', + ], + [ + 'errorCode' => 'InvalidNextHopType', + 'errorMessage' => 'Specified parameter "NextHopType" is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', + 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', + ], + [ + 'errorCode' => 'ResourceNotAssociated.Ecr', + 'errorMessage' => 'The ECR is not associated.', + ], + [ + 'errorCode' => 'UnsupportedFeature.RouterInterfaceIpv6', + 'errorMessage' => 'The feature of ipv6 is not supported for the routerInterface.', + ], + [ + 'errorCode' => 'InvalidVpnInstanceId.NotFound', + 'errorMessage' => 'The specified VPN was not found.', + ], + [ + 'errorCode' => 'OperationFailed.ScopeActiveRouteEntryType', + 'errorMessage' => 'Operation failed because the type of the active route entry is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.ScopeStandbyRouteEntryQuota', + 'errorMessage' => 'Operation failed because the quota for standby route entries in the scope has been exceeded.', + ], + [ + 'errorCode' => 'OperationFailed.ScopeActiveRouteEntryQuota', + 'errorMessage' => 'Operation failed because the quota for active route entries in the scope has been exceeded.', + ], + [ + 'errorCode' => 'OperationUnsupported.ScopeInvalidRouteType', + 'errorMessage' => 'The specified route type is unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.EcmpInvalidRouterInterfaceOppositeType', + 'errorMessage' => 'Operation failed because the opposite type of the router interface is invalid for ECMP configuration.', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6EcmpRouteEntry', + 'errorMessage' => 'The EcmpRouteEntry is not supported for IPv6.', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6CidrBlock', + 'errorMessage' => 'The specified IPv6 CIDR block is unsupported.', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6ForVBR', + 'errorMessage' => 'IPv6 route entry is not supported for VirtualBorderRouter.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTableStatus', + 'errorMessage' => 'The status of the specified RouteTable is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidNextHopType', + 'errorMessage' => 'Operation failed because Ecmp routeEntry has more than one ri entry and can only support one non-ri entry.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcAdvancedFeature', + 'errorMessage' => 'The VPC does not support some advanced features.', + ], + [ + 'errorCode' => 'OperationDenied.CreateEcmpForPublishedRouteEntry', + 'errorMessage' => 'Operation denied because of can not create EcmpRouteEntry for published RouteEntry.', + ], + [ + 'errorCode' => 'OperationDenied.TrAttachmentIpv6Disabled', + 'errorMessage' => 'The operation is not allowed because tr attachment Ipv6 is disabled.', + ], + [ + 'errorCode' => 'Mismatch.EniIdAndRouteTableId', + 'errorMessage' => 'The operation is not allowed because eni and route table not in same vpc.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The Description is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.InstanceDismatchCurrentVpc', + 'errorMessage' => 'The specified instance does not exist in current vpc.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Instance not exists or not vpc vm', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'Specified value of NatGatewayId is not found in our record.', + ], + [ + 'errorCode' => 'InvalidInstanId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidNextHopId.NotFound', + 'errorMessage' => 'Specified next hop does not exist.', + ], + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'Specified route table does not exist.', + ], + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified VPC.', + ], + [ + 'errorCode' => 'InvalidNetworkInterface.NotFound', + 'errorMessage' => 'The specified networkInterface does not exist.', + ], + [ + 'errorCode' => 'InvalidVpc.NotFound', + 'errorMessage' => 'Specified vpc is not found in our record.', + ], + [ + 'errorCode' => 'InvalidIpv6Gateway.NotFound', + 'errorMessage' => 'Specified Ipv6Gateway does not exist.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'VPC.ERROR', + 'errorMessage' => 'error code 500,Internal server error.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv4Gateway', + 'errorMessage' => 'The status of Ipv4Gateway is incorrect.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RouteEntryId\\": \\"rte-sn6vjkioxte1gz83z****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n rte-sn6vjkioxte1gz83z****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '创建自定义路由条目', + 'description' => '- **CreateRouteEntry**接口属于异步接口,即系统会返回一个实例ID,但该路由的添加尚未完成,系统后台的启动任务仍在进行。您可以调用[DescribeRouteEntryList](~~138148~~)查询路由的添加状态:'."\n" + .' - 当路由处于**Creating**状态时,表示路由添加中。'."\n" + .' - 当路由处于**Created**状态时,表示路由添加完成。'."\n" + .'- **CreateRouteEntry**接口不支持在同一个VPC或者同一个VBR中并发添加自定义路由条目。'."\n" + .'- **CreateRouteEntry**接口在并发情况下可能返回**TaskConflict**错误码,请酌情重试。'."\n" + ."\n" + .'**使用该接口为VPC路由器的路由表添加自定义路由条目时,请注意以下事项:**'."\n" + .'> 当添加的路由为前缀列表路由时,路由配额的计算为现存路由与前缀列表路由的最大路由条目数之和是否超过路由配额的限制。'."\n" + .'- 同一个路由表中自定义路由条目不能超过200条。 '."\n" + ."\n" + .'- 自定义路由条目的目标网段(**DestinationCidrBlock**)不能和VPC内的交换机的网段相同,可以包含交换机的网段但是不能被交换机的网段包含。 '."\n" + ."\n" + .'- 自定义路由条目的目标网段(**DestinationCidrBlock**)可以配置为比云服务系统路由网段`100.64.0.0/10`更明细的网段,但不支持和该网段相同。'."\n" + .'由于目标网段为`100.64.0.0/10`的系统路由用于VPC内的云产品通信,建议您谨慎配置更明细的路由,如果配置错误将导致云产品服务无法正常访问和使用。'."\n" + ."\n" + .'- 同一路由表下的路由条目的目标网段(**DestinationCidrBlock**)不允许相同。 '."\n" + ."\n" + .'- 如果指定的目标网段(**DestinationCidrBlock**)是一个IP地址,会按照32位掩码来处理。 '."\n" + ."\n" + .'- 多条自定义路由条目可以指向同一个下一跳(**NextHopId**)。 '."\n" + ."\n" + .'- 自定义路由条目的下一跳(**NextHopId**)必须和路由表在同一个VPC。 '."\n" + ."\n" + .'- 支持通过**NextHopList**参数配置ECMP路由: '."\n" + .' '."\n" + ."\n" + .' * 添加普通(非ECMP)自定义路由时,需指定**DestinationCidrBlock**、**NextHopType**和**NextHopId**参数,且不能指定**NextHopList**参数。 '."\n" + .' '."\n" + .' * 添加ECMP路由时,需指定**DestinationCidrBlock**和**NextHopList**参数,且不能指定**NextHopType**和**NextHopId**参数。 '."\n" + ."\n\n" + .'**使用该接口为边界路由器的路由表添加自定义路由条目时,请注意以下事项:**'."\n" + ."\n" + .'- 同一个路由表中自定义路由条目不能超过200条。 '."\n" + .' '."\n" + .'- 不支持**NextHopList**参数。 '."\n" + .' '."\n" + .'- 自定义路由条目的目标网段(**DestinationCidrBlock**)可以配置为比云服务系统路由网段`100.64.0.0/10`更明细的网段,但不支持和该网段相同。'."\n" + .'由于目标网段为`100.64.0.0/10`的系统路由用于VPC内的云产品通信,建议您谨慎配置更明细的路由,如果配置错误将导致云产品服务无法正常访问和使用。'."\n" + .' '."\n" + .'- 同一路由表下的路由条目的目标网段(**DestinationCidrBlock**)不允许相同。 '."\n" + .' '."\n" + .'- 如果指定的目标网段(**DestinationCidrBlock**)是一个IP地址,会按照32位掩码来处理。 '."\n" + .' '."\n" + .'- 多条自定义路由条目可以指向同一个下一跳(**NextHopId**)。 '."\n" + .' '."\n" + .'- 自定义路由条目的下一跳(**NextHopId**)必须是该VBR关联的路由器接口。 '."\n" + .' '."\n" + .'- 只允许在VBR状态是**Active**,而且对应的物理专线状态是**Enabled**且没有被欠费锁定的情况下在VBR上新建路由条目。 '."\n" + .' '."\n" + .'- 仅支持添加普通路由(非ECMP),需指定**DestinationCidrBlock**、**NextHopType**和**NextHopId**参数,且不能指定**NextHopList**参数。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateRouteEntries' => [ + 'summary' => '在VPC路由器的路由表中批量添加自定义路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由条目信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目信息列表。', + 'type' => 'object', + 'properties' => [ + 'DstCidrBlock' => [ + 'description' => '自定义路由条目的目标网段,支持IPv4、IPv6和前缀列表的目标网段。最多支持输入50个目标网段。需满足以下要求:'."\n" + .' '."\n" + .'- 目标网段不能指向100.64.0.0/10或被100.64.0.0/10包含。 '."\n" + .' '."\n" + .'- 同一张路由表内的不同路由条目的目标网段不能相同。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.0.0/24', + ], + 'RouteTableId' => [ + 'description' => ' 要添加自定义路由条目的路由表ID。 最多支持输入50个路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-bp145q7glnuzd****', + ], + 'IpVersion' => [ + 'description' => 'IP协议的版本。最多支持输入50个IP协议的版本。取值:'."\n" + ."\n" + .'- **4**:IPv4协议。'."\n" + .'- **6**:IPv6协议。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + 'NextHop' => [ + 'description' => '自定义路由条目的下一跳实例的ID。最多支持输入50个实例ID。'."\n" + .'> 若选择NextHopType为ECR,您可以通过[DescribeExpressConnectRouterAssociation](~~2712069~~)接口获取AssociationId作为下一跳ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-j6c2fp57q8rr4jlu****', + ], + 'NextHopType' => [ + 'description' => '自定义路由条目的下一跳的类型。最多支持输入50个下一跳类型。取值: '."\n" + ."\n" + .'- **Instance**(默认值):ECS实例。'."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。 '."\n" + ."\n" + .'- **RouterInterface**:路由器接口。'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + ."\n" + .'- **VpnGateway**:VPN网关。'."\n" + ."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + ."\n" + .'- **NatGateway**:NAT网关。'."\n" + ."\n" + .'- **Attachment**:转发路由器。'."\n" + ."\n" + .'- **VpcPeer**:VPC对等连接。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **CenBasic**:CEN不支持转发路由器。'."\n" + .'- **Ecr**:专线网关。'."\n" + .'- **GatewayLoadBalancerEndpoint**:网关型负载均衡终端节点。', + 'type' => 'string', + 'required' => true, + 'example' => 'RouterInterface', + ], + 'Name' => [ + 'description' => '要添加的自定义路由条目的名称。最多支持输入50个名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Description' => [ + 'description' => '自定义路由条目的描述信息。最多支持输入50个描述。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送请求,不会创建路由条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接创建路由条目。', + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '成功任务数。', + 'type' => 'object', + 'properties' => [ + 'SuccessCount' => [ + 'description' => '添加成功的路由条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'FailedCount' => [ + 'description' => '添加失败的路由条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'FailedRouteEntries' => [ + 'description' => '添加失败的路由条目数的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '添加失败的路由条目数的详细信息。', + 'type' => 'object', + 'properties' => [ + 'DstCidrBlock' => [ + 'description' => '添加失败的自定义路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.0.0/24', + ], + 'NextHop' => [ + 'description' => '添加失败的自定义路由条目的下一跳实例的ID。', + 'type' => 'string', + 'example' => 'i-j6c2fp57q8rr4jlu****', + ], + 'FailedCode' => [ + 'description' => '失败的错误码。', + 'type' => 'string', + 'example' => 'VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE', + ], + 'FailedMessage' => [ + 'description' => '失败的具体报错信息。', + 'type' => 'string', + 'example' => 'Specified CIDR block is already exists, entry.cidrBlock=xxxx', + ], + ], + ], + ], + 'RouteEntryIds' => [ + 'description' => '添加成功的自定义路由条目返回的实例ID信息。', + 'type' => 'array', + 'items' => [ + 'description' => '添加成功的自定义路由条目返回的实例ID。', + 'type' => 'string', + 'example' => 'rte-sn6vjkioxte1gz83z****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'MissingParam.RouteTableId', + 'errorMessage' => 'The parameter RouteTableId is missing.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeRouteEntryList', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 5, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SuccessCount\\": 2,\\n \\"FailedCount\\": 2,\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"FailedRouteEntries\\": [\\n {\\n \\"DstCidrBlock\\": \\"192.168.0.0/24\\",\\n \\"NextHop\\": \\"i-j6c2fp57q8rr4jlu****\\",\\n \\"FailedCode\\": \\"VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE\\",\\n \\"FailedMessage\\": \\"Specified CIDR block is already exists, entry.cidrBlock=xxxx\\"\\n }\\n ],\\n \\"RouteEntryIds\\": [\\n \\"rte-sn6vjkioxte1gz83z****\\"\\n ]\\n}","type":"json"}]', + 'title' => '批量添加自定义路由条目', + 'description' => '- **CreateRouteEntries**接口属于异步接口,即系统会返回一个实例ID,但该路由的创建尚未完成,系统后台的启动任务仍在进行。您可以调用[DescribeRouteEntryList](~~138148~~)查询路由的创建状态:'."\n" + .' - 当路由处于**Creating**状态时,表示路由创建中。'."\n" + .' - 当路由处于**Created**状态时,表示路由创建完成。'."\n" + .'- **CreateRouteEntries**接口不支持在同一个VPC中并发批量创建自定义路由条目。'."\n" + ."\n" + .'**使用该接口为VPC路由器的路由表添加自定义路由条目时,请注意以下事项:**'."\n" + ."\n" + .'- 同一个路由表中自定义路由条目不能超过200条。 '."\n" + ."\n" + .'- 自定义路由条目的目标网段(**DstCidrBlock**)不能和VPC内的交换机的网段相同,也不能包含交换机的网段或者被交换机的网段包含。 '."\n" + ."\n" + .'- 自定义路由条目的目标网段(**DstCidrBlock**)不能指向100.64.0.0/10,也不能被100.64.0.0/10包含。 '."\n" + ."\n" + .'- 同一路由表下的路由条目的目标网段(**DstCidrBlock**)不允许相同。 '."\n" + ."\n" + .'- 如果指定的目标网段(**DstCidrBlock**)是一个IP地址,会按照32位掩码来处理。 '."\n" + ."\n" + .'- 多条自定义路由条目可以指向同一个下一跳(**NextHop**)。 '."\n" + ."\n" + .'- 自定义路由条目的下一跳(**NextHop**)必须和路由表在同一个VPC。', + ], + 'CreateRouteTable' => [ + 'summary' => '创建自定义路由表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-zhangjiakou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '自定义路由表所属的VPC ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1qpo0kug3a20qqe****', + ], + ], + [ + 'name' => 'RouteTableName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'myRouteTable', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'AssociateType', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的路由表的类型。取值:'."\n" + ."\n" + .'- **VSwitch**(默认值):交换机路由表。'."\n" + .'- **Gateway**:网关路由表。', + 'type' => 'string', + 'required' => false, + 'example' => 'VSwitch', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-zhangjiakou', + ], + ], + [ + '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-0016e04', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '路由表的详细信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '62172DD5-6BAC-45DF-8D44-E11ED28DCAC0', + ], + 'RouteTableId' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature of ipv4Gateway is not supported in the region.', + ], + [ + 'errorCode' => 'InvalidParameter.RouteTableName.Malformed', + 'errorMessage' => 'The specified route table name is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.RouteTable', + 'errorMessage' => 'VPC RouteTable quota exceeded.', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotSupport', + 'errorMessage' => 'The vpc is not support.', + ], + [ + 'errorCode' => 'OperationUnsupported.AdvancedFeature', + 'errorMessage' => 'Advanced features of the vpc is unsupported.', + ], + [ + 'errorCode' => 'QuotaExceeded.GatewayRouteTable', + 'errorMessage' => 'The quota of Gateway Route Table is exceeded.', + ], + [ + 'errorCode' => 'MissingParam.vpcId', + 'errorMessage' => 'The parameter vpcId is mandatory.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of RegionId is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.Action', + 'errorMessage' => 'This vpc feature is not supported in this region', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44-E11ED28DCAC0\\",\\n \\"RouteTableId\\": \\"vtb-bp145q7glnuzdvzu2****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 62172DD5-6BAC-45DF-8D44-E11ED28DCAC0\\n vtb-bp145q7glnuzdvzu2****\\n","errorExample":""}]', + 'title' => '创建自定义路由表', + 'description' => '- **CreateRouteTable**接口属于异步接口,即系统会返回一个实例ID,但该自定义路由表尚未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeRouteTableList](~~87602~~)查询自定义路由表的创建状态:'."\n" + .' - 当自定义路由表处于**Creating**状态时,表示自定义路由表创建中。'."\n" + .' - 当自定义路由表处于**Available**状态时,表示自定义路由表创建完成。'."\n" + .'- **CreateRouteTable**接口不支持在同一个VPC中并发创建自定义路由表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateRouteTable' => [ + 'summary' => '将创建的自定义路由表和同一VPC内的交换机绑定。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定交换机的路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定到交换机的路由表的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定路由表的交换机的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-25ncdvfaue4****', + ], + ], + [ + '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-0016e04115b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定交换机的路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.CloudBoxVbrEntryExist', + 'errorMessage' => 'The operation is not allowed because the routing table has a route entry for the next hop to the cloud box VBR.', + ], + [ + 'errorCode' => 'OperationDenied.OtherCloudBoxVbrEntryExist', + 'errorMessage' => 'The operation is not allowed because the routing table has a route entry for the next hop that points to a VBR other than this cloud box.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.RouteTable', + 'errorMessage' => 'The resource has already associated with a routetable.', + ], + [ + 'errorCode' => 'OperationDenied.AssociateGatewayRouteTable', + 'errorMessage' => 'The operation is not allowed because gateway route tables cannot be bound to a vSwitch.', + ], + [ + 'errorCode' => 'OperationDenied.SwitchToSystemRouteTable', + 'errorMessage' => 'The associated route tables cannot be directly changed to system route tables.', + ], + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The specified resource of VSwitch is not found.', + ], + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'Specified route table does not exist.', + ], + [ + 'errorCode' => 'OperationDenied.LocalRouteEntryModified', + 'errorMessage' => 'The next hop of a local route is modified.', + ], + [ + 'errorCode' => 'MissingParam.VSwitchId', + 'errorMessage' => 'The parameter VSwitchId is missing.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of RegionId is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.Action', + 'errorMessage' => 'This vpc feature is not supported in this region', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current status of the virtual switch does not support this operation.', + ], + [ + 'errorCode' => 'Forbidden.VSwitchAlreadyAssociatedRouteTable', + 'errorMessage' => 'The specified virtual switch already associates route table.', + ], + [ + 'errorCode' => 'Forbidden.NotInSameVpc', + 'errorMessage' => 'The specified virtual switch and route table are not in the same VPC.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTable', + 'errorMessage' => 'The status of the specified route table is incorrect.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'Specified route table does not exist.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'Specified VSwitch does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nDC668356-BCB4-42FD-9BC3-FA2B2E04B634\\r\\n","errorExample":"\\n\\n 62172DD5-6BAC-45DF-8D44-xxxxxxx\\n"}]', + 'title' => '将路由表和交换机绑定', + 'description' => '**AssociateRouteTable**接口属于异步接口,即系统返回一个请求ID,但该路由表并未绑定完成,系统后台的绑定任务仍在进行。您可以调用[DescribeVSwitchAttributes](~~94567~~)查询路由表的绑定状态:'."\n" + .'- 当交换机处于**Pending**状态时,表示路由表正在绑定中。'."\n" + .'- 当交换机处于**Available**状态时,表示路由表绑定成功。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteRouteEntry' => [ + 'summary' => '调用DeleteRouteEntry删除VPC路由器或边界路由器的路由表中的路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37680', + 'abilityTreeNodes' => [ + 'FEATUREvpcJSBF65', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目所在的路由表的ID。 '."\n" + .'> 当**RouteEntryId**参数未输入时,**DestinationCidrBlock**和**RouteTableId**参数必填,并根据需求配置**NextHopId**或**NextHopList**参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-2ze3jgygk9bmsj23s****', + ], + ], + [ + 'name' => 'RouteEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的路由条目ID,和DestinationCidrBlock参数互斥。'."\n" + .'> 当**DestinationCidrBlock**参数未输入时,**RouteEntryId**参数必填。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'rte-bp1mnnr2al0naomnpv****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段,支持IPv4网段、IPv6网段、前缀列表网段和前缀列表的实例ID,和RouteEntryId参数互斥。'."\n" + .'> 当**RouteEntryId**参数未输入时,**DestinationCidrBlock**和**RouteTableId**参数必填,并根据需求配置**NextHopId**或**NextHopList**参数。', + 'type' => 'string', + 'required' => false, + 'example' => '47.100.XX.XX/16', + ], + ], + [ + 'name' => 'NextHopId', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳实例的ID。'."\n" + ."\n" + .'- 删除ECMP外的其他路由条目时,请配置**NextHopId**,无需配置**NextHopList**。'."\n" + .'- 删除ECMP路由条目时,请配置**NextHopList**,无需配置**NextHopId**。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ri-2zeo3xzyf38r4urzd****', + ], + ], + [ + 'name' => 'NextHopList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'ECMP路由的下一跳实例信息。最多支持16个下一跳实例信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECMP路由条目的下一跳实例信息。最多支持16个下一跳实例信息。', + 'type' => 'object', + 'properties' => [ + 'NextHopId' => [ + 'description' => 'ECMP路由条目的下一跳实例的ID。最多支持16个下一跳实例信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'ri-2zeo3xzyf38r43cd****', + ], + 'NextHopType' => [ + 'description' => 'ECMP路由的下一跳的类型,目前只能取值**RouterInterface**(路由器接口)。最多支持16个下一跳实例信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'RouterInterface', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 8, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送请求,不会删除路由条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接删除路由条目。', + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'IncorrcetRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified operation is denied as route entry type is system.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.NotFound', + 'errorMessage' => 'Route entry not exists.', + ], + [ + 'errorCode' => 'InvalidVRouter.NotFound', + 'errorMessage' => 'vRouter not exists.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'Specified RouteEntry cannot allowed delete by openApi.', + ], + [ + 'errorCode' => 'InvalidNextHop', + 'errorMessage' => 'Specified nexthop and nexthop list cannot both null.', + ], + [ + 'errorCode' => 'InvalidRouteEntry', + 'errorMessage' => 'Specified routeEntry not exist.', + ], + [ + 'errorCode' => 'Forbidden.VRouterNotFound', + 'errorMessage' => 'pecified virtual switch is not found during access authentication.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidRouteEntryId.NotFound', + 'errorMessage' => 'Specified RouteEntryId does not exist.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidVpnInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidNextHopList.Size', + 'errorMessage' => 'Nexthop list size should be between 2 and 16', + ], + [ + 'errorCode' => 'ParamExclusive.NextHopIdAndList', + 'errorMessage' => 'NextHopId and NextHopList cannot both be not null.', + ], + [ + 'errorCode' => 'OperationFailed.DeleteMultiScopeEntry', + 'errorMessage' => 'Multi or ecmp scope must delete with force.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'OperationDenied.DeleteManagedRouteEntry', + 'errorMessage' => 'The operation is not allowed because of route entry is managed.', + ], + [ + 'errorCode' => 'OperationDenied.RouteTableTypeNotPermitted', + 'errorMessage' => 'The operation is not allowed because the type of route table is not permitted.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcRouteEntry', + 'errorMessage' => 'The status of the specified routeEntry is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.NextHopNotChanged', + 'errorMessage' => 'The operation is not allowed because of NextHopNotChanged.', + ], + [ + 'errorCode' => 'OperationDenied.DeleteGatewayEndpointRoute', + 'errorMessage' => 'The operation is not allowed to delete route entry pointing gateway endpoint..', + ], + [ + 'errorCode' => 'IncorrectStatus.PrefixList', + 'errorMessage' => 'The status of prefixList is incorrect.', + ], + [ + 'errorCode' => 'InvalidCidrBlock', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', + 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', + ], + [ + 'errorCode' => 'UnsupportedFeature.NextHopType', + 'errorMessage' => 'The operation is not allowed because the NextHopType of specified RouteEntry is modified from Local type.', + ], + [ + 'errorCode' => 'ResourceNotFound.PrefixList', + 'errorMessage' => 'The specified resource of prefixList is not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'Specified route table does not exist.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Vpc.Error', + 'errorMessage' => 'error code 500,Internal server error.', + ], + [ + 'errorCode' => 'Internal.Error', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '删除自定义路由条目', + 'description' => '调用本接口删除路由条目时,请注意: '."\n" + ."\n" + .'- 只有处于**Available**状态的路由条目可以被删除。 '."\n" + ."\n" + .'- 路由表所在的VPC正在进行创建或删除交换机或路由条目时,无法删除路由条目。 '."\n" + ."\n" + .'- 如果需要删除边界路由器的路由表中的路由条目,请通过[DescribeRouteEntryList](~~138148~~)接口查询要删除的路由条目的**NextHopId** 后,再通过本接口删除路由条目。'."\n" + ."\n" + .'- **DeleteRouteEntry**接口属于异步接口,即系统会返回一个请求ID,但该路由条目尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeRouteEntryList](~~138148~~)查询路由条目的删除状态:'."\n" + .' - 当路由条目处于**Deleting**状态时,表示路由条目正在删除中。'."\n" + .' - 当查询不到指定的路由条目时,表示路由条目删除成功。'."\n" + .'- **DeleteRouteEntry**接口不支持在同一个VPC或者同一个VBR中并发删除路由表中的路由条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteRouteEntries' => [ + 'summary' => '调用DeleteRouteEntries批量删除自定义路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要删除的路由条目信息。', + 'type' => 'array', + 'items' => [ + 'description' => '要删除的路由条目信息。', + 'type' => 'object', + 'properties' => [ + 'RouteTableId' => [ + 'description' => '要删除的路由条目所在的路由表的ID。最多支持输入50个路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-2ze3jgygk9bmsj23s****', + ], + 'RouteEntryId' => [ + 'description' => '要删除的路由条目ID。最多支持输入50个路由条目ID。'."\n" + ."\n" + .'> 当**RouteEntryId**参数未输入时,**DstCidrBlock**和**NextHop**参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'rte-bp1mnnr2al0naomnpv****', + ], + 'DstCidrBlock' => [ + 'description' => '要删除的路由条目的目标网段,支持IPv4网段、IPv6网段和前缀列表网段。最多支持输入50个目标网段。'."\n" + ."\n" + .'> 当**RouteEntryId**参数未输入时,**DstCidrBlock**和**NextHop**参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => '47.100.XX.XX/24', + ], + 'NextHop' => [ + 'description' => '要删除的下一跳实例的ID。最多支持输入50个实例ID。'."\n" + ."\n" + .'> 当**RouteEntryId**参数未输入时,**DstCidrBlock**和**NextHop**参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-j6c2fp57q8rr4jlu****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送请求,不会删除路由条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接删除路由条目。', + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'SuccessCount' => [ + 'description' => '删除成功的路由条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'FailedCount' => [ + 'description' => '删除失败的路由条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'FailedRouteEntries' => [ + 'description' => '删除失败的路由条目信息。', + 'type' => 'array', + 'items' => [ + 'description' => '删除失败的路由条目信息。', + 'type' => 'object', + 'properties' => [ + 'RouteEntryId' => [ + 'description' => '删除失败的路由条目ID。', + 'type' => 'string', + 'example' => 'rte-bp1mnnr2al0naomnpv****', + ], + 'DstCidrBlock' => [ + 'description' => '删除失败的路由条目的目标网段,支持IPv4网段、IPv6网段和前缀列表网段。', + 'type' => 'string', + 'example' => '47.100.XX.XX/24', + ], + 'NextHop' => [ + 'description' => '删除失败的下一跳实例ID。', + 'type' => 'string', + 'example' => 'i-j6c2fp57q8rr4jlu****', + ], + 'FailedCode' => [ + 'description' => '失败的错误码。', + 'type' => 'string', + 'example' => 'VPC_ROUTER_ENTRY_NOT_EXIST', + ], + 'FailedMessage' => [ + 'description' => '失败的具体报错信息。', + 'type' => 'string', + 'example' => 'vRouterEntry not exists', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeRouteEntryList', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"SuccessCount\\": 2,\\n \\"FailedCount\\": 2,\\n \\"FailedRouteEntries\\": [\\n {\\n \\"RouteEntryId\\": \\"rte-bp1mnnr2al0naomnpv****\\",\\n \\"DstCidrBlock\\": \\"47.100.XX.XX/24\\",\\n \\"NextHop\\": \\"i-j6c2fp57q8rr4jlu****\\",\\n \\"FailedCode\\": \\"VPC_ROUTER_ENTRY_NOT_EXIST\\",\\n \\"FailedMessage\\": \\"vRouterEntry not exists\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n 2\\n 2\\n \\n rte-bp1mnnr2al0naomnpv****\\n 47.100.XX.XX/24\\n i-j6c2fp57q8rr4jlu****\\n VPC_ROUTER_ENTRY_NOT_EXIST\\n vRouterEntry not exists\\n \\n","errorExample":""}]', + 'title' => '批量删除自定义路由条目', + 'description' => '调用本接口删除路由条目时,请注意: '."\n" + ."\n" + .'- 只有处于**Available**状态的路由条目可以被删除。 '."\n" + ."\n" + .'- 路由表所在的VPC正在进行创建或删除交换机或路由条目时,无法删除路由条目。 '."\n" + .'- **DeleteRouteEntries**接口属于异步接口,即系统会返回一个请求ID,但该路由条目尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeRouteEntryList](~~138148~~)查询路由条目的删除状态:'."\n" + .' - 当路由条目处于**Deleting**状态时,表示路由条目正在删除中。'."\n" + .' - 当查询不到指定的路由条目时,表示路由条目删除成功。'."\n" + .'- **DeleteRouteEntries**接口不支持在同一个VPC中并发批量删除路由表中的路由条目。', + ], + 'DeleteRouteTable' => [ + 'summary' => '调用DeleteRouteTable接口删除自定义路由表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由表所属的VPC的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由表所属的VPC的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.GatewayAssociated', + 'errorMessage' => 'You cannot delete the specified route table because it still associates with gateway.', + ], + [ + 'errorCode' => 'MissingParam.RouteTableId', + 'errorMessage' => 'The param of RouteTableId is missing.', + ], + [ + 'errorCode' => 'IncorrectRouteTableType', + 'errorMessage' => 'Route table can be deleted by this action only when it\'s type is custom.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current virtual switch status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectRouteTableStatus.RouteEntryExist', + 'errorMessage' => 'You cannot delete the specified route table because it still has custom route entry.', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of RegionId is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.Action', + 'errorMessage' => 'This vpc feature is not supported in this region', + ], + [ + 'errorCode' => 'IncorrectRouteTableStatus', + 'errorMessage' => 'The current status of the route table does not support this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteEntry', + 'errorMessage' => 'Vpc route table has route entry.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DeleteRouteTable', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44-xxxxxxxx\\"\\n}"},{"type":"xml","example":"\\n\\n 62172DD5-6BAC-45DF-8D44-xxxxxxx\\n","errorExample":"\\n\\n 62172DD5-6BAC-45DF-8D44-xxxxxxx\\n"}]', + 'title' => '删除自定义路由表', + 'description' => '- **DeleteRouteTable**接口属于异步接口,即系统会返回一个请求ID,但该自定义路由表尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeRouteTableList](~~87602~~)查询自定义路由表的删除状态:'."\n" + .' - 当自定义路由表处于**Deleting**状态时,表示自定义路由表正在删除中。'."\n" + .' - 当查询不到指定的自定义路由表时,表示自定义路由表删除成功。'."\n" + .'- **DeleteRouteTable**接口不支持在同一个VPC中并发删除自定义路由表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassociateRouteTable' => [ + 'summary' => '调用UnassociateRouteTable接口将路由表和交换机解绑。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的交换机ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-25naue4****', + ], + ], + [ + '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-0016e04115b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '62172DD5-6BAC-45DF-8D44-xxxxxxx', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of RegionId is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.Action', + 'errorMessage' => 'This vpc feature is not supported in this region', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current status of the virtual switch does not support this operation.', + ], + [ + 'errorCode' => 'OperationUnsupported.SystemRouteTable', + 'errorMessage' => 'System route table can not be unassociated.', + ], + [ + 'errorCode' => 'InvalidStatus.VSwitch', + 'errorMessage' => 'Specified vswitch is not in stable status and cannot operate.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'Specified route table does not exist.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'Specified VSwitch does not exist.', + ], + [ + 'errorCode' => 'InvalidBindingStatus.RouteTable', + 'errorMessage' => 'The specified virtual switch and route table does not bind', + ], + [ + 'errorCode' => 'OperationFailed.VSwitchNotAssociate', + 'errorMessage' => 'Specified vswitch is not associated with the routeTable and cannot operate.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44-xxxxxxx\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44-xxxxxxxx\\"\\n}"},{"type":"xml","example":"\\n\\n 62172DD5-6BAC-45DF-8D44-xxxxxxx\\n","errorExample":"\\n\\n 62172DD5-6BAC-45DF-8D44-xxxxxxx\\n"}]', + 'title' => '将路由表和交换机解绑', + 'description' => '- **UnassociateRouteTable**接口属于异步接口,即系统会返回一个请求ID,但该路由表尚未解绑成功,系统后台的解绑任务仍在进行。您可以调用[DescribeVSwitchAttributes](~~94567~~)查询路由表的解绑状态:'."\n" + .' - 当交换机处于**Pending**状态时,表示路由表正在解绑中。'."\n" + .' - 当交换机处于**Available**状态时,表示路由表解绑成功。'."\n" + .'- **UnassociateRouteTable**接口不支持并发解除同一个路由表和交换机的绑定。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyRouteTableAttributes' => [ + 'summary' => '修改路由表的名称、描述,或者修改是否接收动态路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'RouteTableName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的名称。 '."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'doctest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的描述信息。 '."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => '描述信息', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属的VPC的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RoutePropagationEnable', + 'in' => 'query', + 'schema' => [ + 'description' => '您可以通过开启或者关闭传播路由来控制是否接收动态路由。取值:'."\n" + ."\n" + .'- **true**(默认值):开启。'."\n" + .'- **false**:不开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '62172DD5-6BAC-45DF-8D44', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Abs.InvaliTableName.Malformed', + 'errorMessage' => 'Table name format is invalid.', + ], + [ + 'errorCode' => 'Abs.InvalidRouteTableId.NotExist', + 'errorMessage' => 'The route table id is not exist.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Description format is invalid.', + ], + [ + 'errorCode' => 'Forbidden.DisableRoutePropagation', + 'errorMessage' => 'The operation of disable route propagation is forbidden.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTable', + 'errorMessage' => 'The route table is in an invalid state.', + ], + [ + 'errorCode' => 'IncorrectStatus.RoutePropagationStatus', + 'errorMessage' => 'Route table propagation status not stable. Please wait and try again.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'Vpc status is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 62172DD5-6BAC-45DF-8D44\\n","errorExample":""}]', + 'title' => '修改路由表的名称和描述', + 'description' => '**ModifyRouteTableAttributes**接口不支持并发修改同一个路由表的属性,如名称、描述,或是否接收动态路由。'."\n" + ."\n" + .'当调用**ModifyRouteTableAttributes**接口开启或关闭传播路由时,请注意:'."\n" + .'- 开启或者关闭传播路由操作是异步操作。'."\n" + .'- 开启或者关闭传播路由操作的完成时间与传播路由数量相关。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyRouteEntry' => [ + 'summary' => '调用ModifyRouteEntry修改自定义路由条目的名称、描述和路由下一跳。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37904', + 'abilityTreeNodes' => [ + 'FEATUREvpc0T77AE', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'EntryName', + ], + ], + [ + 'name' => 'RouteEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义路由条目ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'rte-acfvgfsghfdd****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的描述。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'EntryDescription', + ], + ], + [ + 'name' => 'NewNextHopType', + 'in' => 'query', + 'schema' => [ + 'title' => '新路由条目下一跳类型', + 'description' => '新路由条目下一跳类型。取值如下:'."\n" + ."\n" + .'- **Instance**:ECS实例。'."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。 '."\n" + ."\n" + .'- **RouterInterface**:路由器接口。'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + ."\n" + .'- **VpnGateway**:VPN网关。'."\n" + ."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + ."\n" + .'- **NatGateway**:NAT网关。'."\n" + ."\n" + .'- **Attachment**:转发路由器。'."\n" + ."\n" + .'- **VpcPeer**:VPC对等连接。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **Ecr**:专线网关。'."\n" + .'- **GatewayLoadBalancerEndpoint**:网关型负载均衡终端节点。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'HaVip' => 'HaVip', + 'VpnGateway' => 'VpnGateway', + 'GatewayLoadBalancerEndpoint' => 'GatewayLoadBalancerEndpoint', + 'VpcPeer' => 'VpcPeer', + 'Instance' => 'Instance', + 'NetworkInterface' => 'NetworkInterface', + 'NatGateway' => 'NatGateway', + 'Attachment' => 'Attachment', + 'Ipv4Gateway' => 'Ipv4Gateway', + 'GatewayEndpoint' => 'GatewayEndpoint', + 'Ecr' => 'Ecr', + 'RouterInterface' => 'RouterInterface', + 'IPv6Gateway' => 'IPv6Gateway', + ], + 'example' => 'NetworkInterface', + ], + ], + [ + 'name' => 'NewNextHopId', + 'in' => 'query', + 'schema' => [ + 'title' => '新路由条目下一跳实例ID', + 'description' => '新路由条目下一跳实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp17y37ytsenqyim****', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-bp1nk7zk65du3pni8z9td', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段,支持IPv4网段、IPv6网段、前缀列表网段和前缀列表的实例ID。'."\n" + .'> 当**RouteEntryId**参数未输入时,**DestinationCidrBlock**和**RouteTableId**参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送请求,不会修改路由条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接修改路由条目。', + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => '861E6630-AEC0-4B2D-B214-6CB5E44B7F04', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRouteEntryId.NotFound', + 'errorMessage' => 'Specified RouteEntryId does not exist.', + ], + [ + 'errorCode' => 'InvalidRouteEntryName.Malformed', + 'errorMessage' => 'Specified RouteEntry name is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.ModifyManagedRouteEntry', + 'errorMessage' => 'The operation is not allowed because of route entry is managed.', + ], + [ + 'errorCode' => 'OperationDenied.RouteTableTypeNotPermitted', + 'errorMessage' => 'The operation is not allowed because the type of route table is not permitted.', + ], + [ + 'errorCode' => 'MissingParam.NewNextHopId', + 'errorMessage' => 'The parameter NewNextHopId is mandatory.', + ], + [ + 'errorCode' => 'IllegealParam.NextHopType', + 'errorMessage' => 'The parameter NewNextHopType is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.NormalTypeNatGateway', + 'errorMessage' => 'Normal nat gateways do not support modifying the next hop of the route.', + ], + [ + 'errorCode' => 'UnsupportedFeature.NextHopType', + 'errorMessage' => 'The route type does not support modifying the next hop of the route.', + ], + [ + 'errorCode' => 'InvalidRouteTable.NotFound', + 'errorMessage' => 'The specified routetable does not exist.', + ], + [ + 'errorCode' => 'InvalidNetworkInterface.NotFound', + 'errorMessage' => 'The specified network interface does not exist.', + ], + [ + 'errorCode' => 'OperationDenied.NextHopExist', + 'errorMessage' => 'The operation is not allowed because the nexthop already exists.', + ], + [ + 'errorCode' => 'MissingParam.NewNextHopType', + 'errorMessage' => 'The parameter NewNextHopType is mandatory.', + ], + [ + 'errorCode' => 'UnsupportedFeature.ModifyRouteEntryNextHop', + 'errorMessage' => 'The current region does not support the function of modifying the route next hop.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The vSwitch where the specified networkinterface is located does not exist.', + ], + [ + 'errorCode' => 'MissingParam.RouteEntryId', + 'errorMessage' => 'The param of %s is missing.', + ], + [ + 'errorCode' => 'IllegalParam.RouteEntryName', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.LocalRouteEntryModified', + 'errorMessage' => 'The next hop of a local route is modified.', + ], + [ + 'errorCode' => 'OperationDenied.IllegalNewNextHopType', + 'errorMessage' => 'When modifying the next hop of a route of the local type, a new next hop type that is not supported is passed in.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcAdvancedFeature', + 'errorMessage' => 'The VPC does not support some advanced features.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'OperationFailed.NotSupportIPV6', + 'errorMessage' => 'The specified next hop does not support IPv6.', + ], + [ + 'errorCode' => 'UnsupportedFeature.ModifyIpv6RouteEntryNextHop', + 'errorMessage' => 'The current region does not support the feature of modifying the IPv6 route next hop.', + ], + [ + 'errorCode' => 'OperationDenied.NewNextHopNotSupportPublish', + 'errorMessage' => 'New nexthop is not supported for published route entry.', + ], + [ + 'errorCode' => 'IllegalParam.DestCidrBlock', + 'errorMessage' => 'The destCidrBlock is invalid.', + ], + [ + 'errorCode' => 'IllegalParamFormat.DstCidrBlock', + 'errorMessage' => 'The format of the specified destination CIDR block is invalid.', + ], + [ + 'errorCode' => 'MissingParam.RouteEntryIdOrRouteTableDstCidr', + 'errorMessage' => 'The request is missing required parameters. You must provide either the RouteEntryId or the combination of RouteTableId and DestinationCidrBlock to proceed. Please ensure that one of these parameter sets is included in your request.', + ], + [ + 'errorCode' => 'MissingParam.ParameterMustNotNull', + 'errorMessage' => '%s, %s.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'OperationDenied.UpdateGatewayRouteEntry', + 'errorMessage' => 'The operation is not allowed because of need switch to local first.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteEntry', + 'errorMessage' => 'The specified resource routeEntry is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vswitch', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.Instance', + 'errorMessage' => 'The specified resource nextHop is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.NextHop', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.NextHopTypeNonsupport', + 'errorMessage' => 'The operation is not allowed because of nextHopType is nonsupport.', + ], + [ + 'errorCode' => 'OperationDenied.LocalEntryCanOnlyModifyNextHop', + 'errorMessage' => 'Only the nextHop parameter can be modified for a local route entry.', + ], + [ + 'errorCode' => 'ExclusiveParam.NextHopTypeAndNextHopId', + 'errorMessage' => 'The param of nextHopType and nextHopId are mutually exclusive.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + [ + 'errorCode' => 'OperationUnsupported.OnlySupportNormalNetworkInterface', + 'errorMessage' => 'Next hop only supports binding normal network Interface.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv6GatewayRouteTable', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.TrAttachmentIpv6Disabled', + 'errorMessage' => 'The operation is not allowed because tr attachment Ipv6 is disabled.', + ], + [ + 'errorCode' => 'InvalidAttachment.NotFound', + 'errorMessage' => 'The attachment is not found.', + ], + [ + 'errorCode' => 'OperationDenied.LocalRouteEntryInSystemRouteTable', + 'errorMessage' => 'The Local Route Entry In System Route Table Can Not Be Modify.', + ], + [ + 'errorCode' => 'OperationDenied.LocalRouteEntryBoundToVSwitch', + 'errorMessage' => 'The VSwitch to which the local route you modified belongs is bound to the current routing table. You are not allowed to modify its next hop.', + ], + [ + 'errorCode' => 'OperationFailed.ModifyEcmpRoute', + 'errorMessage' => 'Operation is failed because ecmp route can not modify.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The specific NAT gateway is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"861E6630-AEC0-4B2D-B214-6CB5E44B7F04\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 861E6630-AEC0-4B2D-B214-6CB5E44B7F04\\n","errorExample":""}]', + 'title' => '修改自定义路由条目的名称描述或者路由下一跳', + 'description' => '- **ModifyRouteEntry**接口不支持并发修改同一个自定义路由条目的名称和描述。'."\n" + .'- **ModifyRouteEntry**接口在并发情况下可能返回**TaskConflict**错误码,请酌情重试。', + ], + 'GetVpcRouteEntrySummary' => [ + 'summary' => '调用GetVpcRouteEntrySummary接口查询路由类型的明细。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp15zckdt37pq72****', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'RouteEntryType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由的类型。取值:'."\n" + .'- **all**:表示所有路由类型。'."\n" + .'- **custom**:表示自定义路由。'."\n" + .'- **system**:表示系统路由。'."\n" + .'- **bgp**:表示BGP路由。'."\n" + .'- **cen**:表示云企业网CEN(Cloud Enterprise Network)路由。'."\n" + .'- **type_vpn_bgp_internal**:表示VPN的BGP路由。'."\n" + .'- **ECR**:表示专线网关路由。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'custom', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', + ], + 'RouteEntrySummarys' => [ + 'description' => '查询得到的所有路由表的信息集合。', + 'type' => 'array', + 'items' => [ + 'description' => '查询得到的所有路由表的信息集合。', + 'type' => 'object', + 'properties' => [ + 'RouteTableId' => [ + 'description' => '路由表的ID。', + 'type' => 'string', + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + 'EntrySummarys' => [ + 'description' => '单个路由表中不同类型路由条目数的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '单个路由表中不同类型路由条目数的集合。', + 'type' => 'object', + 'properties' => [ + 'RouteEntryType' => [ + 'description' => '路由的类型。取值:'."\n" + .'- **all**:表示所有路由类型。'."\n" + .'- **custom**:表示自定义路由。'."\n" + .'- **system**:表示系统路由。'."\n" + .'- **bgp**:表示BGP路由。'."\n" + .'- **cen**:表示云企业网CEN(Cloud Enterprise Network)路由。'."\n" + .'- **type_vpn_bgp_internal**:表示VPN的BGP路由。'."\n" + .'- **ECR**:表示专线网关路由。'."\n" + ."\n\n" + ."\n" + .'> 返回的系统路由为系统路由表下的系统路由。', + 'type' => 'string', + 'example' => 'Custom', + ], + 'Count' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => '%s [%s] is not found.', + ], + [ + 'errorCode' => 'IllegalParam.RouteEntryType', + 'errorMessage' => 'The parameter of RouteEntryType is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\",\\n \\"RouteEntrySummarys\\": [\\n {\\n \\"RouteTableId\\": \\"vtb-bp145q7glnuzdvzu2****\\",\\n \\"EntrySummarys\\": [\\n {\\n \\"RouteEntryType\\": \\"Custom\\",\\n \\"Count\\": 10\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\n \\n vtb-bp145q7glnuzdvzu2****\\n \\n Custom\\n 10\\n \\n \\n","errorExample":""}]', + 'title' => '查询路由类型的明细', + 'description' => "\n", + ], + 'DescribeRouteTables' => [ + 'summary' => '调用DescribeRouteTables接口查询路由表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'VRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由器的ID。'."\n" + ."\n" + .'>**VRouterId**,**RouteTableId**,**RouterId**和**RouteTableName**参数至少需要输入一个,但是不能同时输入**VRouterId**和**RouterId**参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'vrt-bp1lhl0taikrteen****', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表的ID。'."\n" + ."\n" + .'>**VRouterId**,**RouteTableId**,**RouterId**和**RouteTableName**参数至少需要输入一个,但是不能同时输入**VRouterId**和**RouterId**参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'RouterType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属的路由器的类型。取值:'."\n" + ."\n" + .'- **VRouter**(默认值):VPC路由器。'."\n" + .'- **VBR**:边界路由器。', + 'type' => 'string', + 'required' => false, + 'example' => 'VRouter', + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属路由器的ID。'."\n" + ."\n" + .'>**VRouterId**,**RouteTableId**,**RouterId**和**RouteTableName**参数至少需要输入一个,但是不能同时输入**VRouterId**和**RouterId**参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'vrt-bp1lhl0taikrteen8****', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由条目的类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义路由。'."\n" + .'- **System**:系统路由。'."\n" + .'- **BGP**:BGP路由。'."\n" + .'- **CEN**:云企业网CEN(Cloud Enterprise Network)路由。'."\n" + .'- **ECR**:专线网关路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'Custom', + ], + ], + [ + 'name' => 'RouteTableName', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表的名称。'."\n" + ."\n" + .'名称长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'>**VRouterId**,**RouteTableId**,**RouterId**和**RouteTableName**参数至少需要输入一个,但是不能同时输入**VRouterId**和**RouterId**参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'doctest', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属资源组的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + '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' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RouteTables' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteTable' => [ + 'description' => '路由表列表详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由表的创建时间。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '路由表的创建时间。'."\n" + ."\n" + .'使用UTC时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-08-22T10:40:25Z', + ], + 'Status' => [ + 'description' => '路由表的状态。取值:'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + .'- **Available**:可用。', + 'type' => 'string', + 'example' => 'Available', + ], + 'VRouterId' => [ + 'description' => '路由器的ID。', + 'type' => 'string', + 'example' => 'vrt-bp1lhl0taikrteen****', + ], + 'RouteTableType' => [ + 'description' => '路由表的类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义路由表。'."\n" + .'- **System**:系统路由表。', + 'type' => 'string', + 'example' => 'Custom', + ], + 'ResourceGroupId' => [ + 'description' => '路由表所属资源组的ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + 'RouteTableId' => [ + 'description' => '路由表的ID。', + 'type' => 'string', + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + 'RouteEntrys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteEntry' => [ + 'description' => '路由条目信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目信息。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '路由条目的类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义路由。'."\n" + .'- **System**:系统路由。'."\n" + .'- **BGP**:BGP路由。'."\n" + .'- **CEN**:云企业网CEN(Cloud Enterprise Network)路由。'."\n" + .'- **ECR**:专线网关路由。', + 'type' => 'string', + 'example' => 'Custom', + ], + 'Status' => [ + 'description' => '路由条目的状态。取值:'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + .'- **Available**:可用。'."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'NextHopType' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **Instance**(默认值):ECS实例。'."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + .'- **VpnGateway**:VPN网关。'."\n" + .'- **NatGateway**:NAT网关。'."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + .'- **RouterInterface**:路由器接口。'."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + .'- **Attachment**:转发路由器。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **CenBasic**:CEN不支持转发路由器。'."\n" + .'- **Ecr**:专线网关。', + 'type' => 'string', + 'example' => 'Instance', + ], + 'RouteEntryName' => [ + 'description' => '路由条目的名称。'."\n" + ."\n" + .'名称长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'example' => 'name', + ], + 'RouteEntryId' => [ + 'description' => '路由条目的ID。', + 'type' => 'string', + 'example' => 'rte-bp1mnnr2al0naomnp****', + ], + 'InstanceId' => [ + 'description' => '与下一跳相关联实例的实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1t36rn9l53iwbsf****', + ], + 'RouteTableId' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp15w5q90d2rk3bww****', + ], + 'Description' => [ + 'description' => '路由条目的描述信息。'."\n" + .'描述长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'RouteEntryDescription', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。支持IPv4和IPv6的目标网段。需满足以下要求:'."\n" + ."\n" + .'- 目标网段不能指向100.64.0.0/10或被100.64.0.0/10包含。'."\n" + .'- 同一张路由表内的不同路由条目的目标网段不能相同。', + 'type' => 'string', + 'example' => '192.168.2.0/24', + ], + 'NextHops' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NextHop' => [ + 'description' => '下一跳信息。', + 'type' => 'array', + 'items' => [ + 'description' => '下一跳信息。', + 'type' => 'object', + 'properties' => [ + 'NextHopId' => [ + 'description' => '下一跳实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp10zyaph5cc8b7c7****', + ], + 'Weight' => [ + 'description' => '路由条目的权重。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'NextHopType' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **Instance**:ECS实例。'."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + .'- **VpnGateway**:VPN网关。'."\n" + .'- **NatGateway**:NAT网关。'."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + .'- **RouterInterface**:路由器接口。'."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + .'- **Attachment**:转发路由器。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **CenBasic**:CEN不支持转发路由器。'."\n" + .'- **Ecr**:专线网关。', + 'type' => 'string', + 'example' => 'Instance', + ], + 'Enabled' => [ + 'description' => '路由是否可用。取值:'."\n" + ."\n" + .'- **0**:不可用。'."\n" + .'- **1**:可用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => '交换机ID。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp12mw1f8k3jgygk9****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVRouterId.NotFound', + 'errorMessage' => 'Specified virtual router does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.DescribeCenRoute', + 'errorMessage' => 'An error occurred while querying the CEN route entry.', + ], + [ + 'errorCode' => 'OperationFailed.VRouterNotExist', + 'errorMessage' => 'Operation failed because the VRouter does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.Type', + 'errorMessage' => 'The parameter of Type is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeRouteTableList', + ], + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RouteTables\\": {\\n \\"RouteTable\\": [\\n {\\n \\"CreationTime\\": \\"2022-08-22T10:40:25Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"VRouterId\\": \\"vrt-bp1lhl0taikrteen****\\",\\n \\"RouteTableType\\": \\"Custom\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"RouteTableId\\": \\"vtb-bp145q7glnuzdvzu2****\\",\\n \\"RouteEntrys\\": {\\n \\"RouteEntry\\": [\\n {\\n \\"Type\\": \\"Custom\\",\\n \\"Status\\": \\"Available\\",\\n \\"NextHopType\\": \\"Instance\\",\\n \\"RouteEntryName\\": \\"name\\",\\n \\"RouteEntryId\\": \\"rte-bp1mnnr2al0naomnp****\\",\\n \\"InstanceId\\": \\"vpc-bp1t36rn9l53iwbsf****\\",\\n \\"RouteTableId\\": \\"vtb-bp15w5q90d2rk3bww****\\",\\n \\"Description\\": \\"RouteEntryDescription\\",\\n \\"DestinationCidrBlock\\": \\"192.168.2.0/24\\",\\n \\"NextHops\\": {\\n \\"NextHop\\": [\\n {\\n \\"NextHopId\\": \\"vpn-bp10zyaph5cc8b7c7****\\",\\n \\"Weight\\": 100,\\n \\"NextHopType\\": \\"Instance\\",\\n \\"Enabled\\": 1\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp12mw1f8k3jgygk9****\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\n 1\\n 1\\n \\n 2022-08-22T10:40:25Z\\n Available\\n vrt-bp1lhl0taikrteen****\\n Custom\\n rg-acfmxazb4ph****\\n vtb-bp145q7glnuzdvzu2****\\n \\n Custom\\n Available\\n Instance\\n name\\n rte-bp1mnnr2al0naomnp****\\n vpc-bp1t36rn9l53iwbsf****\\n vtb-bp15w5q90d2rk3bww****\\n RouteEntryDescription\\n 192.168.2.0/24\\n \\n vpn-bp10zyaph5cc8b7c7****\\n 100\\n Instance\\n 1\\n \\n \\n vsw-bp12mw1f8k3jgygk9****\\n \\n","errorExample":""}]', + 'title' => '查询路由表', + ], + 'DescribeRouteEntryList' => [ + 'summary' => '调用DescribeRouteEntryList查询路由条目列表。', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp1r9pvl4xen8s9ju****', + ], + ], + [ + 'name' => 'RouteEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由条目的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rte-bp1mnnr2al0naomnp****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段,支持IPv4和IPv6网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.2.0/24', + ], + ], + [ + 'name' => 'RouteEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP协议的版本。取值:'."\n" + ."\n" + .'- **ipv4**:ipv4协议。'."\n" + ."\n" + .'- **ipv6**:ipv6协议。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4', + ], + ], + [ + 'name' => 'RouteEntryType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由的类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义路由。'."\n" + .'- **System**:系统路由。'."\n" + .'- **BGP**:BGP路由。'."\n" + .'- **CEN**:云企业网CEN(Cloud Enterprise Network)路由。'."\n" + .'- **ECR**:专线网关路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'System', + ], + ], + [ + 'name' => 'NextHopId', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳实例ID。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-bp10zyaph5cc8b7c7****', + ], + ], + [ + 'name' => 'NextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **Instance**(默认值):ECS实例。'."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + ."\n" + .'- **VpnGateway**:VPN网关。'."\n" + ."\n" + .'- **NatGateway**:NAT网关。'."\n" + ."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + ."\n" + .'- **RouterInterface**:路由器接口。'."\n" + ."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + ."\n" + .'- **Attachment**:转发路由器。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **Ecr**:专线网关。', + 'type' => 'string', + 'required' => false, + 'example' => 'Instance', + ], + ], + [ + 'name' => 'MaxResult', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'example' => '10', + 'default' => '100', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目所在路由表的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ServiceType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由托管的类型。如果该字段为空,即表示该路由没有被托管。'."\n" + ."\n" + .'取值:**TR**,表示托管类型为转发路由器类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'TR', + ], + ], + [ + 'name' => 'DestCidrBlockList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由条目的目标网段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的目标网段列表信息。最多支持输入20个目标网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/24', + ], + 'required' => false, + 'maxItems' => 200, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '路由条目详细信息。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', + ], + 'RouteEntrys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteEntry' => [ + 'description' => '路由条目信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '路由条目的状态。取值:'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'Type' => [ + 'description' => '路由条目的类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义路由。'."\n" + .'- **System**:系统路由。'."\n" + .'- **BGP**:BGP路由。'."\n" + .'- **CEN**:云企业网CEN(Cloud Enterprise Network)路由。'."\n" + .'- **ECR**:专线网关路由。', + 'type' => 'string', + 'example' => 'System', + ], + 'IpVersion' => [ + 'description' => 'IP协议的版本。取值:'."\n" + ."\n" + .'- **ipv4**:ipv4协议。'."\n" + ."\n" + .'- **ipv6**:ipv6协议。', + 'type' => 'string', + 'example' => 'ipv4', + ], + 'Description' => [ + 'description' => '路由条目的描述信息。', + 'type' => 'string', + 'example' => 'RouteEntryDescription', + ], + 'RouteEntryName' => [ + 'description' => '路由条目的名称。', + 'type' => 'string', + 'example' => 'aaa', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.2.0/24', + ], + 'RouteEntryId' => [ + 'description' => '路由条目的ID。', + 'type' => 'string', + 'example' => 'rte-bp1mnnr2al0naomnp****', + ], + 'RouteTableId' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp15w5q90d2rk3bww****', + ], + 'GmtModified' => [ + 'description' => '路由条目的修改时间。使用UTC时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'format' => 'iso8601', + 'example' => '2022-05-09T03:00:07Z', + ], + 'NextHops' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NextHop' => [ + 'description' => '下一跳信息。', + 'type' => 'array', + 'items' => [ + 'description' => '下一跳信息。', + 'type' => 'object', + 'properties' => [ + 'NextHopRegionId' => [ + 'description' => ' 下一跳实例所在的地域ID。'."\n" + ."\n" + .'> 下一跳类型为**RouterInterface**时返回该参数。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Weight' => [ + 'description' => '路由条目的权重。'."\n" + ."\n" + .'> 下一跳类型为**RouterInterface**时返回该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'NextHopId' => [ + 'description' => '下一跳实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp10zyaph5cc8b7c7****', + ], + 'Enabled' => [ + 'description' => '路由是否可用。取值:'."\n" + ."\n" + .'- **0**:不可用。'."\n" + ."\n" + .'- **1**:可用。'."\n" + ."\n" + .'> 下一跳类型为**RouterInterface**时返回该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextHopType' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **Instance**:ECS实例。'."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + ."\n" + .'- **VpnGateway**:VPN网关。'."\n" + ."\n" + .'- **NatGateway**:NAT网关。'."\n" + ."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + ."\n" + .'- **RouterInterface**:路由器接口。'."\n" + ."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + ."\n" + .'- **Attachment**:转发路由器。'."\n" + .'- **Ipv4Gateway**:IPv4网关。'."\n" + .'- **GatewayEndpoint**:网关终端节点。'."\n" + .'- **Ecr**:专线网关。', + 'type' => 'string', + 'example' => 'Instance', + ], + 'NextHopRelatedInfo' => [ + 'description' => '下一跳相关信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '与下一跳相关联实例的实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1t36rn9l53iwbsf****', + ], + 'InstanceType' => [ + 'description' => '与下一跳相关联实例的实例类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + ."\n" + .'- **PCONN**:物理专线。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'RegionId' => [ + 'description' => '下一跳相关联实例所在的地域ID。', + 'type' => 'string', + 'example' => 'ch-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + 'ServiceType' => [ + 'description' => '路由托管的类型。如果该字段为空,即表示该路由没有被托管。'."\n" + ."\n" + .'取值:**TR**,表示托管类型为转发路由器类型。', + 'type' => 'string', + 'example' => 'TR', + ], + 'Origin' => [ + 'description' => '路由创建来源。取值:'."\n" + ."\n" + .'- **RoutePropagation**:动态传播源创建。'."\n" + .'- **SystemCreate**:系统创建。'."\n" + .'- **CustomCreate**:自定义创建。', + 'type' => 'string', + 'example' => 'RoutePropagation', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'User nextToken is illegal.', + ], + [ + 'errorCode' => 'InvalidNextHop.NotFound', + 'errorMessage' => 'The specified route entry nexthop does not exist in our records.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCenEntry', + 'errorMessage' => 'Operation is denied because getting CEN route entry has failed.', + ], + [ + 'errorCode' => 'OperationDenied.UseGatewayRouteEntryQueryInterface', + 'errorMessage' => 'Use listGatewayRouteTableEntries to describe gateway route entries.', + ], + [ + 'errorCode' => 'InvalidRouteTable.NotFound', + 'errorMessage' => 'The specified RouteTable was not found.', + ], + [ + 'errorCode' => 'IllegalParam.RouteEntryType', + 'errorMessage' => 'The parameter of RouteEntryType is illegal.', + ], + [ + 'errorCode' => 'MissingParam.context', + 'errorMessage' => 'The param of context is missing.', + ], + [ + 'errorCode' => 'MissingParam.aliUid', + 'errorMessage' => 'The param of aliUid is missing.', + ], + [ + 'errorCode' => 'MissingParam.bid', + 'errorMessage' => 'The param of bid is missing.', + ], + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => 'Param IpVersion illegal.', + ], + [ + 'errorCode' => 'OperationFailed.FilterParamUnderWrongRouteType', + 'errorMessage' => 'Operation failed because only custom type support filter by routeEntryId or routeEntryName', + ], + [ + 'errorCode' => 'IllegalParam.NextTokenExpired', + 'errorMessage' => 'The parameter of NextTokenExpired is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"RouteEntrys\\": {\\n \\"RouteEntry\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"Type\\": \\"System\\",\\n \\"IpVersion\\": \\"ipv4\\",\\n \\"Description\\": \\"RouteEntryDescription\\",\\n \\"RouteEntryName\\": \\"aaa\\",\\n \\"DestinationCidrBlock\\": \\"192.168.2.0/24\\",\\n \\"RouteEntryId\\": \\"rte-bp1mnnr2al0naomnp****\\",\\n \\"RouteTableId\\": \\"vtb-bp15w5q90d2rk3bww****\\",\\n \\"GmtModified\\": \\"2022-05-09T03:00:07Z\\",\\n \\"NextHops\\": {\\n \\"NextHop\\": [\\n {\\n \\"NextHopRegionId\\": \\"cn-hangzhou\\",\\n \\"Weight\\": 100,\\n \\"NextHopId\\": \\"vpn-bp10zyaph5cc8b7c7****\\",\\n \\"Enabled\\": 1,\\n \\"NextHopType\\": \\"Instance\\",\\n \\"NextHopRelatedInfo\\": {\\n \\"InstanceId\\": \\"vpc-bp1t36rn9l53iwbsf****\\",\\n \\"InstanceType\\": \\"VPC\\",\\n \\"RegionId\\": \\"ch-hangzhou\\"\\n }\\n }\\n ]\\n },\\n \\"ServiceType\\": \\"TR\\",\\n \\"Origin\\": \\"RoutePropagation\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 14A07460-EBE7-47CA-9757-12CC4761D47A\\n \\n Available\\n Custom\\n ipv4\\n RouteEntryDescription\\n aaa\\n 192.168.2.0/24\\n rte-bp1mnnr2al0naomnp****\\n vtb-bp15w5q90d2rk3bww****\\n 2022-05-09T03:00:07Z\\n \\n cn-hangzhou\\n 100\\n vpn-bp10zyaph5cc8b7c7****\\n 1\\n Instance\\n \\n vpc-bp1t36rn9l53iwbsf****\\n VPC\\n ch-hangzhou\\n \\n \\n TR\\n \\n","errorExample":""}]', + 'title' => '查询路由条目列表', + 'description' => '调用[DeleteRouteEntry](~~36013~~)接口删除路由条目前,您可以调用本接口查询要删除的路由条目的下一跳信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeRouteTableList' => [ + 'summary' => '调用DescribeRouteTableList接口查询路由表列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RouterType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属的路由器的类型。取值: '."\n" + ."\n" + .'- **VRouter**(默认值):VPC路由器。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VRouter', + 'default' => 'VRouter', + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属路由器的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vrt-bp1lhl0taikrteen8****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属的VPC的ID。'."\n" + ."\n" + .'指定该参数后,**RouterType**参数的值自动设置为**VRouter**。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp15zckdt37pq72****', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + ], + [ + 'name' => 'RouteTableName', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'doctest', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属资源组的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由表所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RouteTableType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表的类型。'."\n" + ."\n" + .'- **System**:系统路由表。'."\n" + ."\n" + .'- **Custom**:自定义路由表。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'System', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '查询的路由表详细信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', + ], + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RouterTableList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouterTableListType' => [ + 'description' => '路由表列表详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由表列表详细信息', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '路由表所属的VPC的ID。'."\n", + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72****', + ], + 'CreationTime' => [ + 'description' => '路由表的创建时间。', + 'type' => 'string', + 'example' => '2021-08-22T10:40:25Z', + ], + 'Status' => [ + 'description' => '路由表的状态。取值:'."\n" + ."\n" + .'- **Pending**:创建中。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Deleting**:删除中。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'RouterId' => [ + 'description' => '路由表所属的路由器ID。', + 'type' => 'string', + 'example' => 'vrt-bp1lhl0taikrteen8****', + ], + 'AssociateType' => [ + 'description' => '路由表绑定的云资源类型。取值:'."\n" + ."\n" + .'- **VSwitch**:交换机。'."\n" + ."\n" + .'- **Gateway**:IPv4网关。', + 'type' => 'string', + 'example' => 'VSwitch', + ], + 'RouteTableId' => [ + 'description' => '路由表的ID。', + 'type' => 'string', + 'example' => 'vtb-bp145q7glnuzdvzu2****', + ], + 'OwnerId' => [ + 'description' => '路由表所属阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '253460731706911258', + ], + 'Description' => [ + 'description' => '路由表的描述。', + 'type' => 'string', + 'example' => 'This is Route Table.', + ], + 'RouteTableType' => [ + 'description' => '路由表的类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义路由表。'."\n" + ."\n" + .'- **System**:系统路由表。', + 'type' => 'string', + 'example' => 'System', + ], + 'ResourceGroupId' => [ + 'description' => '路由表所属资源组的ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + 'RouterType' => [ + 'description' => '路由表所属路由器的类型。取值:'."\n" + ."\n" + .'- **VRouter**:VPC路由器。'."\n" + ."\n" + .'- **VBR**:边界路由器。', + 'type' => 'string', + 'example' => 'VRouter', + ], + 'RouteTableName' => [ + 'description' => '路由表的名称。', + 'type' => 'string', + 'example' => 'doctest', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '路由表的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '路由表的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '路由表绑定的标签键。', + 'type' => 'string', + 'example' => 'type', + ], + 'Value' => [ + 'description' => '路由表绑定的标签键对应的值。', + 'type' => 'string', + 'example' => 'ingress', + ], + ], + ], + ], + ], + ], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => '交换机列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp12mw1f8k3jgygk9****', + ], + ], + ], + ], + 'GatewayIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'GatewayIds' => [ + 'description' => 'IPv4网关详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4网关详细信息。', + 'type' => 'string', + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + ], + ], + ], + 'RoutePropagationEnable' => [ + 'description' => '路由表是否接收传播路由。取值:'."\n" + ."\n" + .'- **true**:路由表接收。'."\n" + .'- **false**:路由表不接收。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'Abs.InvalidPayType', + 'errorMessage' => 'Specified pay type is not valid.', + ], + [ + 'errorCode' => 'Abs.InstanceNotExist', + 'errorMessage' => 'Specified instance not exist.', + ], + [ + 'errorCode' => 'Abs.Forbidden', + 'errorMessage' => 'Specified instance cannot change pay type.', + ], + [ + 'errorCode' => 'Abs.InvalidPayPeriod', + 'errorMessage' => 'Specified pay period not valid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RouterTableList\\": {\\n \\"RouterTableListType\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72****\\",\\n \\"CreationTime\\": \\"2021-08-22T10:40:25Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"RouterId\\": \\"vrt-bp1lhl0taikrteen8****\\",\\n \\"AssociateType\\": \\"VSwitch\\",\\n \\"RouteTableId\\": \\"vtb-bp145q7glnuzdvzu2****\\",\\n \\"OwnerId\\": 253460731706911260,\\n \\"Description\\": \\"This is Route Table.\\",\\n \\"RouteTableType\\": \\"System\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"RouterType\\": \\"VRouter\\",\\n \\"RouteTableName\\": \\"doctest\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"type\\",\\n \\"Value\\": \\"ingress\\"\\n }\\n ]\\n },\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp12mw1f8k3jgygk9****\\"\\n ]\\n },\\n \\"GatewayIds\\": {\\n \\"GatewayIds\\": [\\n \\"ipv4gw-5tsnc6s4ogsedtp3k****\\"\\n ]\\n },\\n \\"RoutePropagationEnable\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\n 10\\n 1\\n 1\\n \\n vpc-bp15zckdt37pq72****\\n 2021-08-22T10:40:25Z\\n Available\\n vrt-bp1lhl0taikrteen8****\\n VSwitch\\n vtb-bp145q7glnuzdvzu2****\\n 253460731706911260\\n This is Route Table.\\n System\\n rg-acfmxazb4ph****\\n VRouter\\n doctest\\n \\n type\\n ingress\\n \\n vsw-bp12mw1f8k3jgygk9****\\n ipv4gw-5tsnc6s4ogsedtp3k****\\n \\n","errorExample":""}]', + 'title' => '查询路由表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListVpcPublishedRouteEntries' => [ + 'summary' => '查询路由发布情况。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-bp145q7glnuzd****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的目标网段,支持IPv4和IPv6网段。', + 'type' => 'string', + 'required' => false, + 'example' => '47.100.XX.XX/16', + ], + ], + [ + 'name' => 'TargetType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由发布目标的类型', + 'type' => 'string', + 'required' => true, + 'example' => 'ECR', + ], + ], + [ + 'name' => 'TargetInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由发布目标实例ID', + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-dhw2xsds5****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**500**,默认值为**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1D0971B2-A35A-42C1-A44C-E91360C36C0B', + ], + 'NextToken' => [ + 'description' => '是否拥有下一个查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一个查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RouteEntries' => [ + 'description' => '路由条目发布状态信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目发布状态信息列表。', + 'type' => 'object', + 'properties' => [ + 'RouteEntryId' => [ + 'description' => '路由条目的ID。', + 'type' => 'string', + 'example' => 'rte-bp1mnnr2al0naomnpv****', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'RouteTableId' => [ + 'description' => '路由表ID。', + 'type' => 'string', + 'example' => 'vtb-2ze3jgygk9bmsj23s****', + ], + 'RoutePublishTargets' => [ + 'description' => '路由条目在发布目标中的发布状态信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目在发布目标中的发布状态信息列表。', + 'type' => 'object', + 'properties' => [ + 'PublishStatus' => [ + 'description' => '路由条目在发布目标中的发布状态。', + 'type' => 'string', + 'enumValueTitles' => [ + 'NonPublished' => 'NonPublished', + 'Published' => 'Published', + ], + 'example' => 'Published', + ], + 'PublishTargetType' => [ + 'description' => '路由发布目标。', + 'type' => 'string', + 'example' => 'ECR', + ], + 'PublishTargetInstanceId' => [ + 'description' => '路由发布目标的实例ID。', + 'type' => 'string', + 'example' => 'ecr-xvuqdfma6x57ei****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotAssociated.TargetInstance', + 'errorMessage' => 'The target instance is not associated with vpc.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.NextTokenExpired', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.TargetType', + 'errorMessage' => 'The parameter of TargetType is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.UnexpectedRouteTable', + 'errorMessage' => 'Operation is denied because only system route table supports publishing route entries.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1D0971B2-A35A-42C1-A44C-E91360C36C0B\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RouteEntries\\": [\\n {\\n \\"RouteEntryId\\": \\"rte-bp1mnnr2al0naomnpv****\\",\\n \\"DestinationCidrBlock\\": \\"10.0.0.0/24\\",\\n \\"RouteTableId\\": \\"vtb-2ze3jgygk9bmsj23s****\\",\\n \\"RoutePublishTargets\\": [\\n {\\n \\"PublishStatus\\": \\"Published\\",\\n \\"PublishTargetType\\": \\"ECR\\",\\n \\"PublishTargetInstanceId\\": \\"ecr-xvuqdfma6x57ei****\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询VPC路由发布状态', + ], + 'PublishVpcRouteEntries' => [ + 'summary' => '发布VPC路由到外部组件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '需要发布的路由条目信息列表,最多支持传入50条路由。', + 'type' => 'array', + 'items' => [ + 'description' => '需要发布的路由条目信息列表。', + 'type' => 'object', + 'properties' => [ + 'RouteTableId' => [ + 'description' => '路由条目的路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-2ze3jgygk9bmsj23s****', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '121.41.165.123/32', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'TargetType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由发布目标的类型', + 'type' => 'string', + 'required' => true, + 'example' => 'ECR', + ], + ], + [ + 'name' => 'TargetInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由发布目标实例ID', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-dhw2xsds5****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会发布路由。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接查询资源状况。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteEntry', + 'errorMessage' => 'The specified resource routeEntry is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Forbidden.OperateCustomRouteTable', + 'errorMessage' => 'The operation is forbidden because publish route entry in custom route table.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntryPublishStatus', + 'errorMessage' => 'Route entry publish status is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotAssociated.TargetInstance', + 'errorMessage' => 'The target instance is not associated with vpc.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedTargetType', + 'errorMessage' => 'The operation is not allowed because the target type is not supported.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTable', + 'errorMessage' => 'The route table is in an invalid state.', + ], + [ + 'errorCode' => 'OperationUnsupported.PublishSystemRouteEntry', + 'errorMessage' => 'Publishing system route entry is unsupported.', + ], + [ + 'errorCode' => 'OperationUnsupported.UnsupportedNextHop', + 'errorMessage' => 'Unsupported nexthop type for route entry publish operation.', + ], + [ + 'errorCode' => 'OperationUnsupported.PublishPrefixListRouteEntry', + 'errorMessage' => 'Publishing prefix list route entry is unsupported.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","type":"json"}]', + 'title' => '发布VPC路由', + ], + 'WithdrawVpcPublishedRouteEntries' => [ + 'summary' => '撤回VPC已发布路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouteEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '需要撤回的路由条目信息列表,最多支持传入50条路由。', + 'type' => 'array', + 'items' => [ + 'description' => '需要撤回的路由条目信息列表。', + 'type' => 'object', + 'properties' => [ + 'RouteTableId' => [ + 'description' => '路由条目的路由表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-bp145q7glnuzd****', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '10.0.0.0/24', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'TargetType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由发布目标的类型', + 'type' => 'string', + 'required' => true, + 'example' => 'ECR', + ], + ], + [ + 'name' => 'TargetInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由发布目标实例ID', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-dhw2xsds5****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会撤回已发布路由。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteEntry', + 'errorMessage' => 'The specified resource routeEntry is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntryPublishStatus', + 'errorMessage' => 'Route entry publish status is incorrect.', + ], + [ + 'errorCode' => 'Forbidden.OperateCustomRouteTable', + 'errorMessage' => 'The operation is forbidden because publish route entry in custom route table.', + ], + [ + 'errorCode' => 'ResourceNotAssociated.TargetInstance', + 'errorMessage' => 'The target instance is not associated with vpc.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedTargetType', + 'errorMessage' => 'The operation is not allowed because the target type is not supported.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTable', + 'errorMessage' => 'The route table is in an invalid state.', + ], + [ + 'errorCode' => 'OperationUnsupported.PublishSystemRouteEntry', + 'errorMessage' => 'Publishing system route entry is unsupported.', + ], + [ + 'errorCode' => 'OperationUnsupported.UnsupportedNextHop', + 'errorMessage' => 'Unsupported nexthop type for route entry publish operation.', + ], + [ + 'errorCode' => 'OperationUnsupported.PublishPrefixListRouteEntry', + 'errorMessage' => 'Publishing prefix list route entry is unsupported.', + ], + [ + 'errorCode' => 'MissingParam.RouteEntries', + 'errorMessage' => 'The parameter RouteEntries is missing.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', + 'title' => '撤回VPC已发布路由', + ], + 'ListGatewayRouteTableEntries' => [ + 'summary' => '调用ListGatewayRouteTableEntries接口查询网关路由表列表信息。', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'GatewayRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网关路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网关路由表中路由条目的目标网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.5', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询网关路由表列表信息的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '网关路由表列表信息。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'string', + 'example' => '1', + ], + 'GatewayRouteEntryModels' => [ + 'description' => '网关路由表中路由条目的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '网关路由表中路由条目的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '路由条目的状态。'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + .'- **Available**:可用。'."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'NextHopId' => [ + 'description' => '下一跳实例ID。', + 'type' => 'string', + 'example' => 'i-bp11gcl0sm85t9bi****', + ], + 'Description' => [ + 'description' => '路由条目的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'NextHopType' => [ + 'description' => '下一跳的类型。取值:'."\n" + ."\n" + .'- **EcsInstance**:ECS实例。'."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + .'- **Local**:本地。', + 'type' => 'string', + 'example' => 'EcsInstance', + ], + 'DestinationCidrBlock' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.0.5', + ], + 'Name' => [ + 'description' => '路由条目的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'example' => 'name', + ], + 'NextHops' => [ + 'description' => '下一跳信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NextHopId' => [ + 'description' => '下一跳实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp10zyaph5cc8b7c7****', + ], + 'NextHopType' => [ + 'description' => '下一跳类型。取值:'."\n" + ."\n" + .'- **Instance**(默认值):ECS实例。'."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + .'- **VpnGateway**:VPN网关。'."\n" + .'- **NatGateway**:NAT网关。'."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + .'- **RouterInterface**:路由器接口。'."\n" + .'- **IPv6Gateway**:IPv6网关。'."\n" + .'- **Attachment**:转发路由器。', + 'type' => 'string', + 'example' => 'Instance', + ], + 'Weight' => [ + 'description' => '路由条目的权重。', + 'type' => 'string', + 'example' => '100', + ], + 'Enabled' => [ + 'description' => '路由是否可用。取值:'."\n" + ."\n" + .'- **0**:不可用。'."\n" + .'- **1**:可用。', + 'type' => 'string', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.GatewayRouteTable', + 'errorMessage' => 'The specified resource GatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The param of nextToken is illegal', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"GatewayRouteEntryModels\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"NextHopId\\": \\"i-bp11gcl0sm85t9bi****\\",\\n \\"Description\\": \\"test\\",\\n \\"NextHopType\\": \\"EcsInstance\\",\\n \\"DestinationCidrBlock\\": \\"192.168.0.5\\",\\n \\"Name\\": \\"name\\",\\n \\"NextHops\\": [\\n {\\n \\"NextHopId\\": \\"vpn-bp10zyaph5cc8b7c7****\\",\\n \\"NextHopType\\": \\"Instance\\",\\n \\"Weight\\": \\"100\\",\\n \\"Enabled\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n 1\\n \\n Available\\n i-bp11gcl0sm85t9bi****\\n test\\n EcsInstance\\n 192.168.0.5\\n name\\n \\n","errorExample":""}]', + 'title' => '查询网关路由表列表信息', + ], + 'AssociateRouteTableWithGateway' => [ + 'summary' => '调用AssociateRouteTableWithGateway接口将网关路由表和同一VPC内的IPv4网关、IPv6网关实例绑定。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定的网关路由表和IPv4网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定的网关路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会关联网关路由表和IPv4网关实例。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接关联网关路由表和IPv4网关实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要关联的IPv4网关实例ID。'."\n" + ."\n" + .'要关联的IPv4网关实例必须为**已激活**状态。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + ], + [ + 'name' => 'GatewayType', + 'in' => 'query', + 'schema' => [ + 'description' => '要关联的网关实例的类型。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'Ipv4Gateway', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定的网关路由表和IPv4网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F89C2176-8F10-55EF-90CF-CF99D1E3F816', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.Ipv4Gateway', + 'errorMessage' => 'The specified resource ipv4Gateway is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv4Gateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.Ipv4Gateway', + 'errorMessage' => 'The specified resource %s is already associated.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayRouteTable', + 'errorMessage' => 'The specified resource GatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.GatewayRouteTable', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.GatewayRouteTable', + 'errorMessage' => 'The specified resource %s is already associated.', + ], + [ + 'errorCode' => 'OperationDenied.Ipv4GatewayNotActive', + 'errorMessage' => 'The operation is not allowed because of ipv4Gateway [%s] is not active.', + ], + [ + 'errorCode' => 'OperationDenied.RouteTableTypeIncorrect', + 'errorMessage' => 'The operation is not allowed because of routeTableType is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'OperationDenied.GatewayAndTableNotInOneVpc', + 'errorMessage' => 'The operation is not allowed because of GatewayAndTableNotInOneVpc.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTable', + 'errorMessage' => 'The status of the specified route table is incorrect.', + ], + [ + 'errorCode' => 'IllegalParam.GatewayType', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv6GatewayRouteTable', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.IngressRoutingNotSupportAnycast', + 'errorMessage' => 'The operation is not allowed because ingress routing not support anycast.', + ], + [ + 'errorCode' => 'OperationDenied.ExistPublicIpv6IpInVpc', + 'errorMessage' => 'Operation denied because IPV6 public ip exists in VPC.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F89C2176-8F10-55EF-90CF-CF99D1E3F816\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F89C2176-8F10-55EF-90CF-CF99D1E3F816\\n","errorExample":""}]', + 'title' => '绑定网关路由表和网关', + ], + 'DissociateRouteTableFromGateway' => [ + 'summary' => '调用DissociateRouteTableFromGateway解绑网关路由表和IPv4网关、IPv6网关实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '38047', + 'abilityTreeNodes' => [ + 'FEATUREvpcRPO4YI', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的网关路由表和IPv4网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的网关路由表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会解绑网关路由表和IPv4网关实例。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接解绑网关路由表和IPv4网关实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的IPv4网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + ], + [ + 'name' => 'GatewayType', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的网关实例的类型。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'Ipv4Gateway', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的网关路由表和IPv4网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C5644C9A-7480-13B6-AECB-30FF142E3724', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.NotExistAssociateRelation', + 'errorMessage' => 'The operation is not failed because of not exist this associate relation.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv4Gateway', + 'errorMessage' => 'The specified resource ipv4Gateway is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv4Gateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayRouteTable', + 'errorMessage' => 'The specified resource GatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.GatewayRouteTable', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'OperationDenied.RouteTableTypeIncorrect', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6Gateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C5644C9A-7480-13B6-AECB-30FF142E3724\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C5644C9A-7480-13B6-AECB-30FF142E3724\\n","errorExample":""}]', + 'title' => '解绑网关路由表和网关', + ], + 'UpdateGatewayRouteTableEntryAttribute' => [ + 'summary' => '修改网关路由表的下一跳类型和下一跳。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的网关路由表所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'IPv4GatewayRouteTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的网关路由表ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + ], + [ + 'name' => 'GatewayRouteTableId', + 'in' => 'query', + 'schema' => [ + 'title' => '要修改的网关路由表 ID。', + 'description' => '要修改的网关路由表ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改网关路由表。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接修改网关路由表。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '网关路由表的路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '47.100.XX.XX/16', + ], + ], + [ + 'name' => 'NextHopType', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的路由条目下一跳类型。取值:'."\n" + ."\n" + .'- **Instance**:ECS实例。'."\n" + .'- **NetworkInterface**:弹性网卡实例。'."\n" + ."\n" + .'- **Local**:本地。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Instance', + ], + ], + [ + 'name' => 'NextHopId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的下一跳的实例ID。'."\n" + ."\n" + .'- 当**NextHopType**取值为**Instance**时,**NextHopId**为ECS实例ID。'."\n" + .'- 当**NextHopType**取值为**NetworkInterface**时,**NextHopId**为弹性网卡实例ID。'."\n" + .'- 当**NextHopType**取值为**Local**时,**NextHopId**为空,表示本地。'."\n" + ."\n" + .'> 当路由条目的下一跳类型为**Instance**或**NetworkInterface**时需要修改下一跳,您需要先将**NextHopType**修改为**Local**,然后再将**NextHopType**修改为**Instance**或**NetworkInterface**之后修改具体的**NextHopId**。当下一跳类型为弹性网卡或ECS实例时,不支持直接修改下一跳为其他的弹性网卡或ECS实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp18xq9yguxoxe7m****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '网关路由表的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '网关路由表的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'new', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的网关路由表所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.UpdateGatewayRouteEntry', + 'errorMessage' => 'The operation is not allowed because of need switch to local first.', + ], + [ + 'errorCode' => 'IllegalParam.DestCidrBlock', + 'errorMessage' => 'The destCidrBlock is invalid.', + ], + [ + 'errorCode' => 'ResourceNotFound.NetworkInterface', + 'errorMessage' => 'The specified resource nextHop is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteEntry', + 'errorMessage' => 'The specified resource routeEntry is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vswitch', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.Instance', + 'errorMessage' => 'The specified resource nextHop is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.NextHop', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.NextHopTypeNonsupport', + 'errorMessage' => 'The operation is not allowed because of nextHopType is nonsupport.', + ], + [ + 'errorCode' => 'OperationDenied.LocalEntryCanOnlyModifyNextHop', + 'errorMessage' => 'Only the nextHop parameter can be modified for a local route entry.', + ], + [ + 'errorCode' => 'ExclusiveParam.NextHopTypeAndNextHopId', + 'errorMessage' => 'The param of nextHopType and nextHopId are mutually exclusive.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + [ + 'errorCode' => 'OperationUnsupported.OnlySupportNormalNetworkInterface', + 'errorMessage' => 'Next hop only supports binding normal network Interface.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv6GatewayRouteTable', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.TrAttachmentIpv6Disabled', + 'errorMessage' => 'The operation is not allowed because tr attachment Ipv6 is disabled.', + ], + [ + 'errorCode' => 'InvalidAttachment.NotFound', + 'errorMessage' => 'The attachment is not found.', + ], + [ + 'errorCode' => 'BothEmptyParam.GatewayRouteTableIdAndIpv4GatewayRouteTableId', + 'errorMessage' => 'The parameter GatewayRouteTableId and Ipv4GatewayRouteTableId cannot be empty at the same time. We recommend that you use GatewayRouteTableId.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改网关路由表的下一跳类型和下一跳', + ], + 'CreateVpcPrefixList' => [ + 'summary' => '调用CreateVpcPrefixList接口创建前缀列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PrefixListName', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'name', + ], + ], + [ + 'name' => 'PrefixListDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'description', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建前缀列表。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接创建前缀列表。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MaxEntries', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表中CIDR地址块的最大条目数。默认值为50条。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'PrefixListEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '前缀列表的CIDR地址块信息。', + 'type' => 'array', + 'items' => [ + 'description' => '前缀列表的CIDR地址块信息。', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => '前缀列表的CIDR地址块。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/16', + ], + 'Description' => [ + 'description' => '前缀列表CIDR地址块的描述信息。'."\n" + ."\n\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'CIDR', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的前缀列表所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP版本类型。取值:'."\n" + ."\n" + .'- **IPv4**(默认值):IPv4类型。'."\n" + .'- **IPv6**:IPv6类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '前缀列表的实例ID。', + 'type' => 'object', + 'properties' => [ + 'PrefixListId' => [ + 'description' => '前缀列表的实例ID。', + 'type' => 'string', + 'example' => 'pl-0b700s2ee3***', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ResourceGroupId' => [ + 'description' => '前缀列表所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedFeature.IpVersion', + 'errorMessage' => 'The ipversion type is not supported.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrefixListCidrCount', + 'errorMessage' => 'The quota of prefixListMaxEntry count is exceeded.', + ], + [ + 'errorCode' => 'OperationFailed.CidrCountExceedMaxCount', + 'errorMessage' => 'The operation is failed because of cidrCountExceedMaxCount.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The param of cidrBlock is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrName', + 'errorMessage' => 'The param of cidrName is illegal.', + ], + [ + 'errorCode' => 'DuplicatedParam.CidrBlock', + 'errorMessage' => 'The param of cidrBlock is duplicated.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrefixListCount', + 'errorMessage' => 'The quota of prefixList count is exceeded.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListPrefixLists', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PrefixListId\\": \\"pl-0b700s2ee3***\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n pl-0b700s2ee3***\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n rg-bp67acfmxazb4ph****\\n","errorExample":""}]', + 'title' => '创建前缀列表', + 'description' => '**CreateVpcPrefixList**接口不支持在同一个地域内并发创建前缀列表。', + ], + 'RetryVpcPrefixListAssociation' => [ + 'summary' => '调用RetryVpcPrefixListAssociation接口重新下发最新的前缀列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '要重新下发的前缀列表的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pl-0b7hwu67****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '关联前缀列表实例的资源类型。取值:'."\n" + ."\n" + .'- **vpcRouteTable**:VPC路由表。'."\n" + .'- **trRouteTable**:转发路由器的路由表。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpcRouteTable', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '关联的资源的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vtb-bp1drpcfz9srr393h****', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会关联前缀列表。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接关联前缀列表。', + '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-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature of prefixList entry is not supported in this region.', + ], + [ + 'errorCode' => 'OperationDenied.SystemPrefixList', + 'errorMessage' => 'The operation is not allowed because of SystemPrefixList.', + ], + [ + 'errorCode' => 'OperationFailed.OperateShareResource', + 'errorMessage' => 'This is not allowed to operate shared prefixList.', + ], + [ + 'errorCode' => 'IncorrectStatus.PrefixList', + 'errorMessage' => 'The status of prefixList is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.NotExistAssociateRelation', + 'errorMessage' => 'The operation is failed because of association not exist.', + ], + [ + 'errorCode' => 'ResourceNotFound.PrefixList', + 'errorMessage' => 'The specified resource of prefixList is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::GetVpcPrefixListAssociations', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '重新下发最新的前缀列表', + 'description' => '- 当您修改了前缀列表实例的信息后,关联前缀列表实例的路由表中未自动更新成功前缀列表实例的信息时,您可以使用该接口重新向关联的路由表下发最新的前缀列表实例。'."\n" + .'- **RetryVpcPrefixListAssociation**接口属于异步接口,即系统返回一个请求ID,但该最新的前缀列表实例尚未重新下发成功,系统后台的重新下发任务仍在进行。您可以调用[GetVpcPrefixListAssociations](~~445478~~)查询前缀列表实例的最新下发状态:'."\n" + .' - 当前缀列表实例的下发状态处于**Modifying**时,表示最新的前缀列表实例正在重新下发中。'."\n" + .' - 当前缀列表实例的下发状态处于**ModifyFailed**时,表示最新的前缀列表实例重新下发失败。'."\n" + .' - 当前缀列表实例的下发状态处于**Created**时,表示最新的前缀列表实例重新下发成功。'."\n" + .'- **RetryVpcPrefixListAssociation**接口不支持针对同一个前缀列表并发重试下发最新的前缀列表实例。'."\n" + .'## 场景说明'."\n" + .'修改前缀列表实例时,只要CIDR网段合法并且没有冲突的CIRD网段,也没有超过前缀列表实例的最大条目数即可修改成功。然而由于引用方的原因(例如,由于配额的原因或者与已有的路由冲突),可能会导致引用失败。您可以在引用方处将失败的问题解决后,请调用**RetryVpcPrefixListAssociation**接口,重新下发最新的前缀列表实例。', + ], + 'DeleteVpcPrefixList' => [ + 'summary' => '调用DeleteVpcPrefixList接口删除前缀列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的前缀列表的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pl-0b78hw45f****', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除前缀列表。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接删除前缀列表。', + '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-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '64B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.PrefixList ', + 'errorMessage' => 'The specified resource of prefixList is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.SystemPrefixList', + 'errorMessage' => 'This is not allowed to operate system prefixList.', + ], + [ + 'errorCode' => 'OperationDenied.DeleteShareResource', + 'errorMessage' => 'This is not allowed to delete shared prefixList.', + ], + [ + 'errorCode' => 'IncorrectStatus.PrefixList', + 'errorMessage' => 'The status of prefixList is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.PrefixListRelation', + 'errorMessage' => 'The specified resource of prefixList depends on prefixList relation, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.ShareResource', + 'errorMessage' => 'The specified resource of prefixList depends on share resource, so the operation cannot be completed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListPrefixLists', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 64B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除前缀列表', + 'description' => '**DeleteVpcPrefixList**接口不支持并发删除同一个前缀列表实例。', + ], + 'ModifyVpcPrefixList' => [ + 'summary' => '调用ModifyVpcPrefixList接口修改前缀列表的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的前缀列表的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pl-0b7hwu67****', + ], + ], + [ + 'name' => 'PrefixListName', + 'in' => 'query', + 'schema' => [ + 'description' => '修改后的前缀列表的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'newname', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改前缀列表的配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接修改前缀列表的配置信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AddPrefixListEntry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要添加的前缀列表实例的CIDR地址块列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '要添加的前缀列表实例的CIDR地址块信息。', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => '要添加的前缀列表实例的CIDR地址块。'."\n" + ."\n" + .'> 如果要添加的CIDR地址块已经在前缀列表中存在,则只修改**AddPrefixListEntry.N.Description**的值,即只修改该CIDR地址块的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.0.0/12', + ], + 'Description' => [ + 'description' => '要添加的前缀列表实例的CIDR地址块描述信息。'."\n" + ."\n" + .'描述长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'newcidr', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'RemovePrefixListEntry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要删除的前缀列表实例的CIDR地址块列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '要删除的前缀列表实例的CIDR地址块列表信息。', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => '要删除的前缀列表实例的CIDR地址块。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/16', + ], + 'Description' => [ + 'description' => '要删除的前缀列表的CIDR地址块的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'cidr', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改配置信息的前缀列表实例所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PrefixListDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '修改后的前缀列表实例的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'newdescription', + ], + ], + [ + 'name' => 'MaxEntries', + 'in' => 'query', + 'schema' => [ + 'description' => '修改后的前缀列表实例的最大CIDR地址块条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PrefixListId' => [ + 'description' => '前缀列表的实例ID。', + 'type' => 'string', + 'example' => 'pl-0b7hwu67****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.PrefixList', + 'errorMessage' => 'The specified resource of prefixList is not found.', + ], + [ + 'errorCode' => 'OperationFailed.CidrCountExceedMaxCount', + 'errorMessage' => 'The operation is failed because of cidrCountExceedMaxCount.', + ], + [ + 'errorCode' => 'OperationDenied.RemoveCountExceedExistCount', + 'errorMessage' => 'The operation is not allowed because of remove-count exceed exist-count.', + ], + [ + 'errorCode' => 'DuplicatedParam.CidrBlock', + 'errorMessage' => 'The param of cidrBlock is duplicated.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The param of cidrBlock is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrName', + 'errorMessage' => 'The param of cidrName is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.SystemPrefixList', + 'errorMessage' => 'This is not allowed to operate system prefixList.', + ], + [ + 'errorCode' => 'OperationFailed.OperateShareResource', + 'errorMessage' => 'This is not allowed to operate shared prefixList.', + ], + [ + 'errorCode' => 'IncorrectStatus.PrefixList', + 'errorMessage' => 'The status of prefixList is incorrect.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrefixListCidrCount', + 'errorMessage' => 'The quota of prefixList entry maxEntry count is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Route entry quota exceeded in associated route table.', + ], + [ + 'errorCode' => 'OperationDenied.QuotaExceededWithNetworkAcl', + 'errorMessage' => 'If the prefix list increases MaxEntries, the quota for the maximum number of entries for the associated network ACL instance %s is exceeded.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListPrefixLists', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PrefixListId\\": \\"pl-0b7hwu67****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n pl-0b7hwu67****\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改前缀列表的配置信息', + 'description' => '- **ModifyVpcPrefixList**接口属于异步接口,即系统返回一个请求ID,但该前缀列表实例的配置信息尚未修改成功,系统后台的修改任务仍在进行。您可以调用[ListPrefixLists](~~311535~~)查询前缀列表实例的状态。'."\n" + .' - 当前缀列表实例处于**Modifying**状态时,表示前缀列表实例的配置信息正在修改中。'."\n" + .' - 当前缀列表实例处于**Created**状态时,表示前缀列表实例的配置信息修改成功。'."\n" + .' - 前缀列表实例的配置信息修改成功后,您可以调用[GetVpcPrefixListAssociations](~~445478~~)接口查询前缀列表的关联关系来确定关联的资源是否使用的是修改后的CIDR地址块,当前缀列表的关联状态即**Status**参数取值为**Created**时,表示关联的资源使用的CIDR地址块为修改后的CIDR地址块。'."\n" + ."\n" + .'- **ModifyVpcPrefixList**接口不支持并发修改同一个前缀列表实例的配置信息。', + ], + 'ListPrefixLists' => [ + 'summary' => '调用ListPrefixLists接口查询前缀列表的列表信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PrefixListIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '前缀列表的实例ID', + 'description' => '要查询的前缀列表ID。**N**的取值范围为**1**~**100**,即一次最多查询100个前缀列表。', + 'type' => 'array', + 'items' => [ + 'description' => '前缀列表的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-0b7hwu67****', + ], + 'required' => false, + 'example' => 'pl-m5estsqsdqwg88hjf****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '10', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要查询前缀列表的信息的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PrefixListName', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的前缀列表的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'name', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DF72F7BB-5DFA-529C-887E-B0BB70D89C4F', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '查询到的列表数目。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'PrefixLists' => [ + 'description' => '查询到的前缀列表的列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '查询到的前缀列表的列表信息。', + 'type' => 'object', + 'properties' => [ + 'PrefixListId' => [ + 'title' => '前缀列表的实例ID', + 'description' => '查询到的前缀列表ID。', + 'type' => 'string', + 'example' => 'pl-m5estsqsdqwg88hjf****', + ], + 'PrefixListName' => [ + 'title' => '名称', + 'description' => '前缀列表的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'PrefixListDescription' => [ + 'title' => '描述', + 'description' => '前缀列表的描述信息。', + 'type' => 'string', + 'example' => 'Created with oss service by system.', + ], + 'IpVersion' => [ + 'title' => 'IpVersion', + 'description' => '前缀列表的IP版本。取值:'."\n" + ."\n" + .'- **IPV4**:IPv4版本。'."\n" + .'- **IPV6**:IPv6版本。', + 'type' => 'string', + 'example' => 'IPV4', + ], + 'CreationTime' => [ + 'title' => '创建时间', + 'description' => '前缀列表的创建时间。', + 'type' => 'string', + 'example' => '2022-07-12T14:22:32Z', + ], + 'CidrBlocks' => [ + 'title' => '前缀列表包含的网段', + 'description' => '前缀列表的CIDR地址块信息。', + 'type' => 'array', + 'items' => [ + 'description' => '前缀列表的CIDR地址块信息。', + 'type' => 'string', + 'example' => '100.115.XX.XX/24', + ], + ], + 'ShareType' => [ + 'description' => '前缀列表的共享类型。取值:'."\n" + ."\n" + .'- **Shared**:表示该前缀列表为共享的前缀列表。'."\n" + .'- 空:表示该前缀列表不是共享的前缀列表。', + 'type' => 'string', + 'example' => 'Shared', + ], + 'MaxEntries' => [ + 'description' => '前缀列表中CIDR地址块的最大条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Status' => [ + 'description' => '前缀列表的状态。取值:'."\n" + ."\n" + .'- **Created**:已创建。'."\n" + .'- **Deleted**:已删除。'."\n" + .'- **Modifying**:修改中。'."\n", + 'type' => 'string', + 'example' => 'Created', + ], + 'OwnerId' => [ + 'description' => '前缀列表所属的阿里云账号(主账号)。', + 'type' => 'string', + 'example' => '1210123456123456', + ], + 'PrefixListStatus' => [ + 'description' => '前缀列表的状态。取值:'."\n" + ."\n" + .'- **Created**:已创建。'."\n" + .'- **Deleted**:已删除。'."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'> 该参数与**Status**含义和取值相同。', + 'type' => 'string', + 'example' => 'Created', + ], + 'RegionId' => [ + 'description' => '查询到的前缀列表信息的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ResourceGroupId' => [ + 'description' => '前缀列表所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + 'PrefixListType' => [ + 'title' => '前缀列表类型', + 'description' => '前缀列表类型', + 'type' => 'string', + 'example' => 'Custom', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DF72F7BB-5DFA-529C-887E-B0BB70D89C4F\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"PrefixLists\\": [\\n {\\n \\"PrefixListId\\": \\"pl-m5estsqsdqwg88hjf****\\",\\n \\"PrefixListName\\": \\"test\\",\\n \\"PrefixListDescription\\": \\"Created with oss service by system.\\",\\n \\"IpVersion\\": \\"IPV4\\",\\n \\"CreationTime\\": \\"2022-07-12T14:22:32Z\\",\\n \\"CidrBlocks\\": [\\n \\"100.115.XX.XX/24\\"\\n ],\\n \\"ShareType\\": \\"Shared\\",\\n \\"MaxEntries\\": 10,\\n \\"Status\\": \\"Created\\",\\n \\"OwnerId\\": \\"1210123456123456\\",\\n \\"PrefixListStatus\\": \\"Created\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"PrefixListType\\": \\"Custom\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n DF72F7BB-5DFA-529C-887E-B0BB70D89C4F\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 1\\n 20\\n \\n pl-m5estsqsdqwg88hjf****\\n test\\n Created with oss service by system.\\n IPV4\\n 2022-07-12T14:22:32Z\\n 100.115.XX.XX/24\\n Shared\\n 10\\n Created\\n 1210123456123456\\n Created\\n cn-hangzhou\\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询前缀列表的列表信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetVpcPrefixListAssociations' => [ + 'summary' => '调用GetVpcPrefixListAssociations接口查询前缀列表的关联关系。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的前缀列表的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pl-0b7hwu67****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '50', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要查询的前缀列表所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Count' => [ + 'description' => '条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PrefixListAssociation' => [ + 'description' => '前缀列表的关联关系列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '前缀列表的关联关系列表信息。', + 'type' => 'object', + 'properties' => [ + 'PrefixListId' => [ + 'title' => '前缀列表的实例ID', + 'description' => '前缀列表的实例ID。', + 'type' => 'string', + 'example' => 'pl-0b7hwu67****', + ], + 'ResourceId' => [ + 'title' => '状态', + 'description' => '关联的资源ID。', + 'type' => 'string', + 'example' => 'vtb-bp1drpcfz9srr393h****', + ], + 'ResourceType' => [ + 'title' => '名称', + 'description' => '关联的资源类型。取值:'."\n" + ."\n" + .'- **vpcRouteTable**:VPC路由表。'."\n" + .'- **trRouteTable**:转发路由器的路由表。', + 'type' => 'string', + 'example' => 'vpcRouteTable', + ], + 'OwnerId' => [ + 'description' => '前缀列表所属的阿里云账号(主账号)ID。', + 'type' => 'string', + 'example' => '153460731706****', + ], + 'Status' => [ + 'title' => 'IpVersion', + 'description' => '前缀列表的关联状态。取值:'."\n" + ."\n" + .'- **Created**:成功。'."\n" + .'- **ModifyFailed**:未关联到最新版本。'."\n" + .'- **Creating**:创建中。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'example' => 'Success', + ], + 'Reason' => [ + 'description' => '关联失败时的原因。', + 'type' => 'string', + 'example' => 'failed', + ], + 'RegionId' => [ + 'description' => '要查询的前缀列表所在地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ResourceUid' => [ + 'description' => '前缀列表所绑定资源所属的阿里云账号(主账号)ID。', + 'type' => 'string', + 'example' => '132193271328****', + ], + 'CidrList' => [ + 'description' => '前缀列表在当前关联资源中生效的CIDR地址列表。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1,\\n \\"Count\\": 1,\\n \\"PrefixListAssociation\\": [\\n {\\n \\"PrefixListId\\": \\"pl-0b7hwu67****\\",\\n \\"ResourceId\\": \\"vtb-bp1drpcfz9srr393h****\\",\\n \\"ResourceType\\": \\"vpcRouteTable\\",\\n \\"OwnerId\\": \\"153460731706****\\",\\n \\"Status\\": \\"Success\\",\\n \\"Reason\\": \\"failed\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceUid\\": \\"132193271328****\\",\\n \\"CidrList\\": \\"192.168.0.0/16\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 1\\n 1\\n \\n pl-0b7hwu67****\\n vtb-bp1drpcfz9srr393h****\\n vpcRouteTable\\n 153460731706****\\n Success\\n failed\\n cn-hangzhou\\n 132193271328****\\n \\n","errorExample":""}]', + 'title' => '查询前缀列表的关联关系', + ], + 'GetVpcPrefixListEntries' => [ + 'summary' => '调用GetVpcPrefixListEntries接口查询指定前缀列表的信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的前缀列表的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pl-0b7hwu67****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '50', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要查询的前缀列表所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '查询的列表条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Count' => [ + 'description' => '条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PrefixListEntry' => [ + 'description' => '查询的前缀列表的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrefixListId' => [ + 'title' => '前缀列表的实例ID', + 'description' => '前缀列表的实例ID。', + 'type' => 'string', + 'example' => 'pl-0b7hwu67****', + ], + 'Cidr' => [ + 'title' => '状态', + 'description' => '前缀列表的CIDR地址块。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'Description' => [ + 'title' => '名称', + 'description' => '前缀列表的描述信息。', + 'type' => 'string', + 'example' => 'description', + ], + 'RegionId' => [ + 'description' => '前缀列表所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + [ + 'errorCode' => 'ResourceNotFound.PrefixList', + 'errorMessage' => 'The specified resource of prefixList is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1,\\n \\"Count\\": 1,\\n \\"PrefixListEntry\\": [\\n {\\n \\"PrefixListId\\": \\"pl-0b7hwu67****\\",\\n \\"Cidr\\": \\"192.168.0.0/16\\",\\n \\"Description\\": \\"description\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 1\\n 1\\n \\n pl-0b7hwu67****\\n 192.168.0.0/16\\n description\\n cn-hangzhou\\n \\n","errorExample":""}]', + 'title' => '查询指定前缀列表的信息', + ], + 'CreateDhcpOptionsSet' => [ + 'summary' => '创建DHCP选项集。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DomainNameServers', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNS服务器IP。最多传入4个DNS服务器IP,DNS服务器IP之间用半角逗号(,)隔开。'."\n" + ."\n" + .'>未传入任何DNS服务器IP时,ECS实例默认使用阿里云提供的DNS服务器IP(100.100.2.136和100.100.2.138)。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '192.XX.XX.123', + ], + ], + [ + 'name' => 'DhcpOptionsSetName', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集的名称。'."\n" + ."\n" + .'长度为1~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'name', + ], + ], + [ + 'name' => 'DhcpOptionsSetDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集的描述。 '."\n" + ."\n" + .'描述可以为空或填写长度为1~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'description', + ], + ], + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => '主机名后缀,例如example.com。'."\n" + ."\n" + .'DHCP选项集关联VPC后,会自动将主机名后缀同步给VPC中ECS实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送检查请求,不会创建DHCP选项集。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接创建DHCP选项集。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LeaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv4 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时:单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**87600h**。'."\n" + ."\n" + .'- 租赁时间设置为天时:单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**3650d** 。'."\n" + ."\n" + .'> 输入参数取值时,必须输入参数的单位。', + 'type' => 'string', + 'required' => false, + 'example' => '3650d', + ], + ], + [ + 'name' => 'Ipv6LeaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时:单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**24h**。'."\n" + ."\n" + .'- 租赁时间设置为天时:单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**1d** 。'."\n" + ."\n" + .'> 输入参数取值时,必须输入参数的单位。', + 'type' => 'string', + 'required' => false, + 'example' => '3650d', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建成功的DHCP选项集的ID。', + 'type' => 'object', + 'properties' => [ + 'DhcpOptionsSetId' => [ + 'description' => '创建成功的DHCP选项集的ID。', + 'type' => 'string', + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'ResourceGroupId' => [ + 'description' => 'DHCP选项集所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationUnsupported.DhcpOptionsSet', + 'errorMessage' => 'The DHCP options set feature in this region is not supported.', + ], + [ + 'errorCode' => 'InvalidDomainNameServers.Malformed', + 'errorMessage' => 'The specified format of DomainNameServers is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.DomainNameServers', + 'errorMessage' => 'The maximum number of domain name servers cannot exceed 4.', + ], + [ + 'errorCode' => 'IllegalParam.DomainNameServers', + 'errorMessage' => 'The specified DomainNameServers is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.DomainName', + 'errorMessage' => 'The specified DomainName is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.DhcpOptionsSetName', + 'errorMessage' => 'The specified DhcpOptionsSetName is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.DhcpOptionsSetDescription', + 'errorMessage' => 'The specified DhcpOptionsSetDescription is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.RegionDhcpOptionsSet', + 'errorMessage' => 'The quota of dhcpOptionsSet in the region is exceeded.', + ], + [ + 'errorCode' => 'OperationUnsupported.DhcpLeaseTime', + 'errorMessage' => 'The DhcpOptionsSet of this region does not support custom LeaseTime.', + ], + [ + 'errorCode' => 'IllegalParam.LeaseTime', + 'errorMessage' => 'LeaseTime [%s] is illegal.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::GetDhcpOptionsSet', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DhcpOptionsSetId\\": \\"dopt-o6w0df4epg9zo8isy****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n dopt-o6w0df4epg9zo8isy****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n rg-acfmxazb4ph****\\n","errorExample":""}]', + 'title' => '创建DHCP选项集', + 'description' => '- **CreateDhcpOptionsSet**接口属于异步接口,即系统会返回一个实例ID,但该DHCP选项集尚未创建完成,系统后台任务仍在进行中。您可以调用'."\n" + .'[GetDhcpOptionsSet](~~448820~~)查询DHCP选项集的创建状态:'."\n" + .' - 当交换机处于**Pending**状态时,表示DHCP选项集正在配置中。'."\n" + .' - 当交换机处于**Available**状态时,表示DHCP选项集可用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteDhcpOptionsSet' => [ + 'summary' => '调用DeleteDhcpOptionsSet接口删除DHCP选项集。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的DHCP选项集所在的地域。您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的DHCP选项集的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送检查请求,不会删除DHCP选项集。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后直接删除DHCP选项集。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.DhcpOptionsSet', + 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', + ], + [ + 'errorCode' => 'OperationUnsupported.DhcpOptionsSet', + 'errorMessage' => 'The DHCP options set feature in this region is not supported.', + ], + [ + 'errorCode' => 'DependencyViolation.VpcAttachment', + 'errorMessage' => 'DhcpOptionsSet cannot be deleted when it is attached to VPC.', + ], + [ + 'errorCode' => 'InvalidDhcpOptionsSetId.NotFound', + 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', + ], + [ + 'errorCode' => 'MissingParam.DhcpOptionsSetId', + 'errorMessage' => 'Missing parameter DhcpOptionsSetId.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 8B2F5262-6B57-43F2-97C4-971425462DFE\\r\\n","errorExample":""}]', + 'title' => '删除DHCP选项集', + 'description' => '- **DeleteDhcpOptionsSet**接口属于异步接口,即系统返回一个请求ID,但该DHCP选项集尚未删除成功,系统后台的删除任务仍在进行。您可以调用[GetDhcpOptionsSet](~~448820~~)查询DHCP选项集的删除状态:'."\n" + .' - 当DHCP选项集处于**Deleting**状态时,表示DHCP选项集正在删除中。'."\n" + .' - 当查询不到指定的DHCP选项集时,表示DHCP选项集删除成功。'."\n" + .'- **DeleteDhcpOptionsSet**接口不支持并发删除同一个DHCP选项集。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AttachDhcpOptionsSetToVpc' => [ + 'summary' => '调用AttachDhcpOptionsSetToVpc接口将DHCP选项集关联到VPC。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集关联的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-sfdkfdjkdf****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送检查请求,不会将DHCP选项集关联VPC。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回2XX HTTP状态码并直接将DHCP选项集关联VPC。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'You cannot operate shared resources.', + ], + [ + 'errorCode' => 'InvalidDhcpOptionsSetId.NotFound', + 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.DhcpOptionsSet', + 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcDhcpOptionsSet', + 'errorMessage' => 'The dhcpOptionsSet status of VPC does not support this operation.', + ], + [ + 'errorCode' => 'OperationFailed.AttachmentExist', + 'errorMessage' => 'The current VPC is already attached to a DHCP options set.', + ], + [ + 'errorCode' => 'QuotaExceeded.AttachVpcNumber', + 'errorMessage' => 'The maximum number of VPCs that can be attached to a DHCP options set is exceeded.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', + ], + [ + 'errorCode' => 'MissingParam.VpcId', + 'errorMessage' => 'You must specify VpcId.', + ], + [ + 'errorCode' => 'MissingParam.DhcpOptionsSetId', + 'errorMessage' => 'Missing parameter DhcpOptionsSetId.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '将DHCP选项集关联到VPC', + 'description' => '- **AttachDhcpOptionsSetToVpc**接口属于异步接口,即系统返回一个请求ID,但该DHCP选项集尚未关联到VPC,系统后台的关联任务仍在进行。您可以调用[DescribeVpcAttribute](~~94565~~)查询DHCP选项集的关联状态:'."\n" + .' - 当DHCP选项集处于**Pending**状态时,表示DHCP选项集正在关联中。'."\n" + .' - 当DHCP选项集处于**InUse**状态时,表示DHCP选项集关联成功。'."\n" + .'- **AttachDhcpOptionsSetToVpc**接口不支持在同一个VPC下并发关联DHCP选项集。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachDhcpOptionsSetFromVpc' => [ + 'summary' => '取消DHCP选项集与VPC的关联。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '要与VPC取消关联的DHCP选项集的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要与DHCP选项集取消关联的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-dfdgrgthhy****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送检查请求,不会取消DHCP选项集与VPC的关联。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回2XX HTTP状态码并取消DHCP选项集与VPC的关联。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDhcpOptionsSetId.NotFound', + 'errorMessage' => 'The specified resource dhcpOptionsSetId is not found.', + ], + [ + 'errorCode' => 'OperationFailed.AttachmentNotExist', + 'errorMessage' => 'The current VPC is not attahced to a DHCP options set.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcDhcpOptionsSet', + 'errorMessage' => 'The dhcpOptionsSet status of VPC does not support this operation.', + ], + [ + 'errorCode' => 'AttrMismatching.VpcDhcpOptionsSetId', + 'errorMessage' => 'The dhcpOptionsSetId does not match the VPC.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'IncorrectStatus.DhcpOptionsSet', + 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', + ], + [ + 'errorCode' => 'OperationUnsupported.DhcpOptionsSet', + 'errorMessage' => 'The DHCP options set feature in this region is not supported.', + ], + [ + 'errorCode' => 'MissingParam.VpcId', + 'errorMessage' => 'You must specify VpcId.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '将DHCP选项集与VPC取消关联', + 'description' => '- **DetachDhcpOptionsSetFromVpc**接口属于异步接口,即系统返回一个请求ID,但该DHCP选项集尚未解绑成功,系统后台的解绑任务仍在进行。您可以调用[DescribeVpcAttribute](~~94565~~)查询DHCP选项集的解绑状态:'."\n" + .' - 当DHCP选项集处于**Pending**状态时,表示DHCP选项集正在解绑中。'."\n" + .' - 当DHCP选项集处于**UnUsed**状态时,表示DHCP选项集解绑成功。'."\n" + .'- **DetachDhcpOptionsSetFromVpc**接口不支持在同一个VPC中并发解绑DHCP选项集。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReplaceVpcDhcpOptionsSet' => [ + 'summary' => '调用ReplaceVpcDhcpOptionsSet接口更改DHCP选项集与VPC的关联。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '要更改的DHCP选项集的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要更改关联的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-dsferghthth****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会更改DHCP选项集与VPC的关联。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2XX HTTP状态码并直接更改DHCP选项集与VPC的关联。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.AttachmentNotExist', + 'errorMessage' => 'The current VPC is not attahced to a DHCP options set.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpcDhcpOptionsSet', + 'errorMessage' => 'The dhcpOptionsSet status of VPC does not support this operation.', + ], + [ + 'errorCode' => 'AttrMismatching.VpcDhcpOptionsSetId', + 'errorMessage' => 'The dhcpOptionsSetId does not match the VPC.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'InvalidDhcpOptionsSetId.NotFound', + 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.DhcpOptionsSet', + 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::GetDhcpOptionsSet', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '更改DHCP选项集与VPC的关联', + 'description' => '- **ReplaceVpcDhcpOptionsSet**接口属于异步接口,即系统返回一个请求ID,但该DHCP选项集尚未更改成功,系统后台的更改任务仍在进行。您可以调用[DescribeVpcAttribute](~~94565~~)查询DHCP选项集的更改状态:'."\n" + .' - 当DHCP选项集处于**Pending**状态时,表示DHCP选项集正在更改中。'."\n" + .' - 当DHCP选项集处于**InUse**状态时,表示DHCP选项集更改成功。'."\n" + .'- **ReplaceVpcDhcpOptionsSet**接口不支持针对同一个VPC中并发更改关联的DHCP选项集。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateDhcpOptionsSetAttribute' => [ + 'summary' => '调用UpdateDhcpOptionsSetAttribute接口修改DHCP选项集配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的DHCP选项集所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的DHCP选项集的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + ], + [ + 'name' => 'DomainNameServers', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNS服务器IP。最多传入4个DNS服务器IP,DNS服务器IP之间用半角逗号(,)隔开。'."\n" + ."\n" + .'>未传入任何DNS服务器IP时,ECS实例默认使用阿里云提供的DNS服务器IP(100.100.2.136和100.100.2.138)。', + 'type' => 'string', + 'required' => false, + 'example' => '192.XX.XX.123', + ], + ], + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => '主机名后缀,例如example.com。'."\n" + ."\n" + .'DHCP选项集关联VPC后,会自动将主机名后缀同步给VPC中ECS实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'DhcpOptionsSetName', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'name', + ], + ], + [ + 'name' => 'DhcpOptionsSetDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '输入DHCP选项集的描述。 '."\n" + ."\n" + .'描述可以为空或填写长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'description', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送检查请求,不会修改DHCP选项集的配置信息。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接修改DHCP选项集配置信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LeaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv4 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时:单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**87600h**。'."\n" + ."\n" + .'- 租赁时间设置为天时:单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**3650d** 。'."\n" + ."\n" + .'> 输入参数取值时,必须输入参数的单位。', + 'type' => 'string', + 'required' => false, + 'example' => '3650d', + ], + ], + [ + 'name' => 'Ipv6LeaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时:单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**24h**。'."\n" + ."\n" + .'- 租赁时间设置为天时:单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**1d** 。'."\n" + ."\n" + .'> 输入参数取值时,必须输入参数的单位。', + 'type' => 'string', + 'required' => false, + 'example' => '3650d', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDhcpOptionsSetId.NotFound', + 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.DhcpOptionsSet', + 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', + ], + [ + 'errorCode' => 'IllegalParam.DomainNameServers', + 'errorMessage' => 'The specified DomainNameServers is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.DomainName', + 'errorMessage' => 'The specified DomainName is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.DhcpOptionsSetName', + 'errorMessage' => 'The specified DhcpOptionsSetName is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.DhcpOptionsSetDescription', + 'errorMessage' => 'The specified DhcpOptionsSetDescription is invalid.', + ], + [ + 'errorCode' => 'OperationUnsupported.DhcpLeaseTime', + 'errorMessage' => 'The DhcpOptionsSet of this region does not support custom LeaseTime.', + ], + [ + 'errorCode' => 'OperationUnsupported.DhcpOptionsSet', + 'errorMessage' => 'The DHCP options set feature in this region is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.ModifyDefaultDhcpOptionsSet', + 'errorMessage' => 'The default DHCP options set is not allowed to be modified.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '修改DHCP选项集配置信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetDhcpOptionsSet' => [ + 'summary' => '调用GetDhcpOptionsSet接口查询已创建的DHCP选项集。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询DHCP选项集所在的地域ID。'."\n" + ."\n\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'enumValueTitles' => [ + 'ap-southeast-1' => 'ap-southeast-1', + ], + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询DHCP选项集的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'DHCP选项集的描述。 ', + 'type' => 'object', + 'properties' => [ + 'DhcpOptionsSetDescription' => [ + 'description' => 'DHCP选项集的描述。 ', + 'type' => 'string', + 'example' => 'test', + ], + 'Status' => [ + 'description' => 'DHCP选项集的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **InUse**:使用中。'."\n" + ."\n" + .'- **Deleted**:已删除。'."\n" + ."\n" + .'- **Pending**:配置中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'DhcpOptionsSetId' => [ + 'description' => 'DHCP选项集的ID。', + 'type' => 'string', + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + 'DhcpOptionsSetName' => [ + 'description' => 'DHCP选项集的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'OwnerId' => [ + 'description' => 'DHCP选项集所属的阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '283117732402483989', + ], + 'DhcpOptions' => [ + 'description' => 'DHCP选项配置信息。', + 'type' => 'object', + 'properties' => [ + 'DomainNameServers' => [ + 'description' => 'DNS服务器IP。', + 'type' => 'string', + 'example' => '192.XX.XX.123', + ], + 'DomainName' => [ + 'description' => '主机名后缀。'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'LeaseTime' => [ + 'description' => ' IPv4 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时:单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**87600h**。'."\n" + ."\n" + .'- 租赁时间设置为天时:单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**3650d** 。'."\n", + 'type' => 'string', + 'example' => '3650d', + ], + 'Ipv6LeaseTime' => [ + 'description' => 'IPv6 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时:单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**24h**。'."\n" + ."\n" + .'- 租赁时间设置为天时:单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**1d** 。', + 'type' => 'string', + 'example' => '3650d', + ], + ], + ], + 'AssociateVpcs' => [ + 'description' => 'DHCP选项集关联的VPC的信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'DHCP选项集关联的VPC的信息。', + 'type' => 'object', + 'properties' => [ + 'AssociateStatus' => [ + 'description' => 'DHCP选项集关联的VPC的状态。取值:'."\n" + ."\n" + .'- **InUse**:使用中。'."\n" + ."\n" + .'- **Pending**:配置中。'."\n", + 'type' => 'string', + 'example' => 'InUse', + ], + 'VpcId' => [ + 'description' => 'DHCP选项集关联的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-eb3b54r6otues4tjj****', + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => 'DHCP选项集所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + 'Tags' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2025-08-21 ***', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DhcpOptionsSetDescription\\": \\"test\\",\\n \\"Status\\": \\"Available\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"DhcpOptionsSetId\\": \\"dopt-o6w0df4epg9zo8isy****\\",\\n \\"DhcpOptionsSetName\\": \\"test\\",\\n \\"OwnerId\\": 283117732402484000,\\n \\"DhcpOptions\\": {\\n \\"DomainNameServers\\": \\"192.XX.XX.123\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LeaseTime\\": \\"3650d\\",\\n \\"Ipv6LeaseTime\\": \\"3650d\\"\\n },\\n \\"AssociateVpcs\\": [\\n {\\n \\"AssociateStatus\\": \\"InUse\\",\\n \\"VpcId\\": \\"vpc-eb3b54r6otues4tjj****\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"CreationTime\\": \\"2025-08-21 ***\\"\\n}","errorExample":""},{"type":"xml","example":"\\n test\\n Available\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n dopt-o6w0df4epg9zo8isy****\\n test\\n 283117732402484000\\n \\n 192.XX.XX.123\\n example.com\\n 3650d\\n 3650d\\n \\n \\n InUse\\n vpc-eb3b54r6otues4tjj****\\n \\n rg-acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n","errorExample":""}]', + 'title' => '查询已创建的DHCP选项集', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListDhcpOptionsSets' => [ + 'summary' => '调用ListDhcpOptionsSets接口查询已创建的DHCP选项集列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询DHCP选项集所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => '主机名后缀,例如example.com。'."\n" + ."\n" + .'DHCP选项集关联VPC后,会自动将主机名后缀同步给VPC中ECS实例。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'example.com' => 'example.com', + ], + 'example' => 'example.com', + ], + ], + [ + 'name' => 'DhcpOptionsSetName', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,以英文大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'tf-testAccVpcDhcpOptionsSets-1585169790614573448' => 'tf-testAccVpcDhcpOptionsSets-1585169790614573448', + ], + 'example' => 'test', + ], + ], + [ + 'name' => 'DhcpOptionsSetId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'DHCP选项集的ID。最多支持输入20个DHCP选项集的ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'DHCP选项集的ID。最多支持输入20个DHCP选项集的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + 'required' => false, + 'example' => 'dopt-o6w0df4epg9zo8isy****', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DHCP选项集所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd********', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'DhcpOptionsSets' => [ + 'description' => 'DHCP选项集列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'DHCP选项集列表信息。', + 'type' => 'object', + 'properties' => [ + 'DhcpOptionsSetDescription' => [ + 'description' => 'DHCP选项集的描述信息。 ', + 'type' => 'string', + 'example' => 'test', + ], + 'Status' => [ + 'description' => 'DHCP选项集的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **InUse**:使用中。'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + ."\n" + .'- **Deleted**:已删除。'."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'DhcpOptionsSetId' => [ + 'description' => 'DHCP选项集的ID。', + 'type' => 'string', + 'example' => 'dopt-o6w0df4epg9zo8isy****', + ], + 'DhcpOptionsSetName' => [ + 'description' => 'DHCP选项集的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'AssociateVpcCount' => [ + 'description' => 'DHCP选项集绑定的VPC的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'OwnerId' => [ + 'description' => 'DHCP选项集所属的阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '253460731706911258', + ], + 'DhcpOptions' => [ + 'description' => 'DHCP选项配置信息。', + 'type' => 'object', + 'properties' => [ + 'DomainNameServers' => [ + 'description' => 'DNS服务器IP。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'DomainName' => [ + 'description' => '主机名后缀。'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'LeaseTime' => [ + 'description' => ' IPv4 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时,单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**87600h**。'."\n" + ."\n" + .'- 租赁时间设置为天时,单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**3650d** 。', + 'type' => 'string', + 'example' => '3650d', + ], + 'Ipv6LeaseTime' => [ + 'description' => 'IPv6 DHCP选项集的租赁时间。'."\n" + ."\n" + .'- 租赁时间设置为小时时,单位:h。取值范围:**24h~1176h**,**87600h~175200h**。 默认值:**24h**。'."\n" + ."\n" + .'- 租赁时间设置为天时,单位:d。取值范围: **1d~49d**,**3650d~7300d**。 默认值:**1d** 。', + 'type' => 'string', + 'example' => '3650d', + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => 'DHCP选项集所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + 'CreationTime' => [ + 'description' => '创建时间', + 'type' => 'string', + 'example' => '2025-08-21 ***', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'string', + 'example' => '10', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd********\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"DhcpOptionsSets\\": [\\n {\\n \\"DhcpOptionsSetDescription\\": \\"test\\",\\n \\"Status\\": \\"Available\\",\\n \\"DhcpOptionsSetId\\": \\"dopt-o6w0df4epg9zo8isy****\\",\\n \\"DhcpOptionsSetName\\": \\"test\\",\\n \\"AssociateVpcCount\\": 2,\\n \\"OwnerId\\": 253460731706911260,\\n \\"DhcpOptions\\": {\\n \\"DomainNameServers\\": \\"192.168.XX.XX\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LeaseTime\\": \\"3650d\\",\\n \\"Ipv6LeaseTime\\": \\"3650d\\"\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"CreationTime\\": \\"2025-08-21 ***\\"\\n }\\n ],\\n \\"TotalCount\\": \\"10\\"\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd********\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n \\n test\\n Available\\n dopt-o6w0df4epg9zo8isy****\\n test\\n 2\\n 253460731706911260\\n \\n 192.168.XX.XX\\n example.com\\n 3650d\\n 3650d\\n \\n rg-acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n 10\\n","errorExample":""}]', + 'title' => '查询已创建的DHCP选项集列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'OpenFlowLogService' => [ + 'summary' => '调用OpenFlowLogService接口开通流日志功能。', + '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' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '28CF47AB-B6C0-5FA2-80C7-2B28826A92CB', + ], + 'Code' => [ + 'description' => '状态码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '流日志开通成功返回的信息。', + 'type' => 'string', + 'example' => 'successful', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ExceedPurchaseLimit', + 'errorMessage' => 'You have reached the limit of purchase quantity.', + ], + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', + ], + [ + 'errorCode' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity', + 'errorMessage' => 'Vpc_flowlog_public has no group cloud product label, and users within the group are not allowed to purchase.', + ], + [ + 'errorCode' => 'OperationFailed.QuotaNotEnough', + 'errorMessage' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', + ], + [ + 'errorCode' => 'Order.NoRealNameAuthentication', + 'errorMessage' => 'Real-name verification has not been completed for the account.', + ], + [ + 'errorCode' => 'OperationFailed.BasicInfoUncompleted', + 'errorMessage' => 'You have not completed your basic personal information, please complete the information and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"28CF47AB-B6C0-5FA2-80C7-2B28826A92CB\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 28CF47AB-B6C0-5FA2-80C7-2B28826A92CB\\n 200\\n successful\\n","errorExample":""}]', + 'title' => '开通流日志功能', + 'description' => '- **OpenFlowLogService**接口不支持在同一个阿里云账号(主账号)并发开通流日志功能。'."\n" + ."\n" + .'- 您可以调用[GetFlowLogServiceStatus](~~449624~~)接口查询流日志功能的开通状态。', + ], + 'CreateFlowLog' => [ + 'summary' => '创建流日志。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + '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' => 'This is my Flowlog.', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要捕获流量的资源类型。取值:'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + .' '."\n" + .'- **VSwitch**:交换机内的所有弹性网卡。'."\n" + .' '."\n" + .'- **VPC**:专有网络内的所有弹性网卡。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'NetworkInterface', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要捕获流量的资源ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-askldfas****', + ], + ], + [ + 'name' => 'TrafficType', + 'in' => 'query', + 'schema' => [ + 'description' => '采集的流量类型。取值:'."\n" + ."\n" + .'- **All**:全部流量。'."\n" + .' '."\n" + .'- **Allow**:访问控制允许的流量。'."\n" + .' '."\n" + .'- **Drop**:访问控制拒绝的流量。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'All', + ], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => '管理捕获到的流量的Project名称。'."\n" + .'- Projec名称仅支持小写字母、数字和短划线(-)。'."\n" + .'- 名称的开头与结尾必须为小写字母或数字。'."\n" + .'- 名称长度为3~63个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'FlowLogProject', + ], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => '存储捕获到的流量的LogStore名称。'."\n" + .'- LogStore名称仅支持小写字母、数字、短划线(-)和下划线(_)。'."\n" + .'- 名称的开头与结尾必须为小写字母或数字。'."\n" + .'- 名称长度为3~63个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'FlowLogStore', + ], + ], + [ + 'name' => 'AggregationInterval', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的采样间隔。单位:分钟。取值:**1**、**5**、**10**(默认值)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'TrafficPath', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '采集的流量路径。取值:'."\n" + ."\n" + .'- **all**:表示全量采集。'."\n" + .'- **internetGateway**:表示公网流量采集。', + 'type' => 'array', + 'items' => [ + 'description' => '采集的流量路径。取值:'."\n" + ."\n" + .'- **all**(默认值):表示全量采集。'."\n" + ."\n" + .''."\n" + .'> 流量路径功能默认不开放,如需使用,请[提交工单](https://selfservice.console.aliyun.com/ticket/category/ga/today)申请。'."\n" + ."\n\n" + .''."\n" + .'> 流量路径功能默认不开放,如需使用,请[提交工单](https://workorder-intl.console.aliyun.com/?spm=5176.11182188.console-base-top.dworkorder.18ae4882n3v6ZW#/ticket/createIndex)申请。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'all', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazdjdhd****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,请勿输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如果传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志采集流量的IP地址类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + 'Success' => [ + 'description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **true**:调用成功。'."\n" + .'- **false**:调用失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'FlowLogId' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'example' => 'fl-m5e8vhz2t21sel1nq****', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazdjdhd****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectBusinessStatus.FlowLog', + 'errorMessage' => 'The business status of flowLog is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.FlowLog', + 'errorMessage' => 'You are not authorized to use the requested service of flowLog. Ensure that you have subscribed to the service you are trying to use.', + ], + [ + 'errorCode' => 'OperationUnsupported.AdvancedFeature', + 'errorMessage' => 'Advanced features of the vpc is unsupported.', + ], + [ + 'errorCode' => 'InvalidInstanceId', + 'errorMessage' => 'vswitch does not exist.', + ], + [ + 'errorCode' => 'ProjectOrLogstoreNotExist', + 'errorMessage' => 'The specified project or logstore does not exist.', + ], + [ + 'errorCode' => 'SourceProjectNotExist', + 'errorMessage' => 'The Source Project or logstore does not exist.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'This api does not support sub user or role.', + ], + [ + 'errorCode' => 'OperationUnsupported.action', + 'errorMessage' => 'This action is not support.', + ], + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'RuleExist', + 'errorMessage' => 'The rule has already existed.', + ], + [ + 'errorCode' => 'InvalidHdMonitorStatus', + 'errorMessage' => 'Current instance status is not valid for this action.', + ], + [ + 'errorCode' => 'QuotaExceeded.FlowlogCount', + 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'This resourceId already has flowlog instance existed.', + ], + [ + 'errorCode' => 'INVALID_PARAMETER', + 'errorMessage' => 'The parameter invalid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Missing mandatory parameter', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'Resource type no the same.', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceType', + 'errorMessage' => 'This resource type is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.AggregationInterval', + 'errorMessage' => 'The param of aggregationInterval is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.UserDefinedTrafficPath', + 'errorMessage' => 'The feature of UserDefinedTrafficPath is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.TrafficPath', + 'errorMessage' => 'The param of trafficPath is illegal.', + ], + [ + 'errorCode' => 'DuplicatedParam.TrafficPath', + 'errorMessage' => 'The param of trafficPath is duplicated.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceGroupId', + 'errorMessage' => 'Invalid ResourceGroupld value.', + ], + [ + 'errorCode' => 'OperationDenied.OperateShareResource', + 'errorMessage' => 'The operation is not allowed because of OperateShareResource.', + ], + [ + 'errorCode' => 'UnsupportedFeature.IpVersion', + 'errorMessage' => 'The ipversion type is not supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcAdvancedFeature', + 'errorMessage' => 'The VPC does not support some advanced features.', + ], + [ + 'errorCode' => 'OperationFailed.EniTypeNotSupport', + 'errorMessage' => 'Operation failed because the ENI type is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => 'The parameter of IpVersion is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerAggregationIntervalMismatch', + 'errorMessage' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerNotFound', + 'errorMessage' => 'The specified NIS Traffic Analyzer does not exist.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerNotActive', + 'errorMessage' => 'The specified NIS Traffic Analyzer is not enabled.', + ], + [ + 'errorCode' => 'OperationFailed.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'MissingParam.TrafficAnalyzerIdOrLogProjectOrLogStore', + 'errorMessage' => 'TrafficAnalyzerId and ProjectName and LogStoreName parameters are not passed in.', + ], + [ + 'errorCode' => 'OperationDenied.AllTrafficPathOfManagedExist', + 'errorMessage' => 'The resource you specified has created a flow log instance that collects the traffic of all scenarios. You cannot create a flow log instance that collects only some scenarios.', + ], + [ + 'errorCode' => 'UnsupportedFeature.UserDefinedTrafficPathIpv6', + 'errorMessage' => 'Dual-stack flow log instances do not support custom trafficPath.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeFlowLogs', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"Success\\": \\"true\\",\\n \\"FlowLogId\\": \\"fl-m5e8vhz2t21sel1nq****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazdjdhd****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B457\\n true\\n fl-m5e8vhz2t21sel1nq****\\n rg-acfmxazdjdhd****\\n","errorExample":""}]', + 'title' => '创建流日志', + 'description' => '**CreateFlowLog**接口属于异步接口,即系统会返回一个实例ID,但该流日志尚未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeFlowLogs](~~448670~~)查询流日志的创建状态:'."\n" + .'- 当流日志处于**Activating**状态时,表示流日志正在创建中。'."\n" + .'- 当流日志处于**Active**状态时,表示流日志创建并启动完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteFlowLog' => [ + 'summary' => '调用DeleteFlowLog接口删除流日志。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fl-m5e8vhz2t21sel1nq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + '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' => 'InvalidInstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'ProjectOrLogstoreNotExist', + 'errorMessage' => 'The specified project or logstore does not exist.', + ], + [ + 'errorCode' => 'SourceProjectNotExist', + 'errorMessage' => 'The Source Project or logstore does not exist.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'This api does not support sub user or role.', + ], + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'InvalidStatus', + 'errorMessage' => 'The specfied instance\'s status is invalid.', + ], + [ + 'errorCode' => 'InvalidHdMonitorStatus', + 'errorMessage' => 'Current instance status is not valid for this action.', + ], + [ + 'errorCode' => 'FlowLogNumberOverLimit', + 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specfied instance is not existed.', + ], + [ + 'errorCode' => 'IncorrectStatus.flowlog', + 'errorMessage' => 'Invalid flowlog status.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'Resource id is empty.', + ], + [ + 'errorCode' => 'Forbidden.OperateManagedFlowLog', + 'errorMessage' => 'Authentication is failed for operate managed flowlog.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeFlowLogs', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\n","errorExample":""}]', + 'title' => '删除流日志', + 'description' => '- **DeleteFlowLog**接口属于异步接口,即系统返回一个实例ID,但流日志尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeFlowLogs](~~87923~~)查询流日志的删除状态:'."\n" + .' - 当流日志处于**Deleting**状态时,表示流日志正在删除中。'."\n" + .' - 当查询不到指定的流日志时,表示流日志删除成功。'."\n" + .'- **DeleteFlowLog**接口不支持并发删除同一个流日志。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyFlowLogAttribute' => [ + 'summary' => ' 调用ModifyFlowLogAttribute接口编辑流日志的名称和描述。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fl-m5e8vhz2t21sel1nq****', + ], + ], + [ + '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' => 'This is my Flowlog.', + ], + ], + [ + 'name' => 'AggregationInterval', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的流日志的采样间隔。单位:分钟。取值:**1**、**5**、**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志采集流量的IP地址类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'Success' => [ + 'description' => '操作是否成功。取值:'."\n" + ."\n" + .'- **true**:操作成功。'."\n" + ."\n" + .'- **false**:操作失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectBusinessStatus.FlowLog', + 'errorMessage' => 'The business status of flowLog is incorrect.', + ], + [ + 'errorCode' => 'InvalidInstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'ProjectOrLogstoreNotExist', + 'errorMessage' => 'The specified project or logstore does not exist.', + ], + [ + 'errorCode' => 'SourceProjectNotExist', + 'errorMessage' => 'The Source Project or logstore does not exist.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'This api does not support sub user or role.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specfied instance is not existed.', + ], + [ + 'errorCode' => 'RuleExist', + 'errorMessage' => 'The rule has already existed.', + ], + [ + 'errorCode' => 'InvalidHdMonitorStatus', + 'errorMessage' => 'Current instance status is not valid for this action.', + ], + [ + 'errorCode' => 'FlowLogNumberOverLimit', + 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', + ], + [ + 'errorCode' => 'InvalidTrafficType.NotFound', + 'errorMessage' => 'Invalid traffic type.', + ], + [ + 'errorCode' => 'IncorrectStatus.flowlog', + 'errorMessage' => 'Invalid flowlog status.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified name is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.AggregationInterval', + 'errorMessage' => 'The param of aggregationInterval is illegal.', + ], + [ + 'errorCode' => 'Forbidden.OperateManagedFlowLog', + 'errorMessage' => 'Authentication is failed for operate managed flowlog.', + ], + [ + 'errorCode' => 'UnsupportedFeature.IpVersion', + 'errorMessage' => 'The ipversion type is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => 'The parameter of IpVersion is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerAggregationIntervalMismatch', + 'errorMessage' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerNotActive', + 'errorMessage' => 'The specified NIS Traffic Analyzer is not enabled.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerNotFound', + 'errorMessage' => 'The specified NIS Traffic Analyzer does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidInstanceDeliverScope', + 'errorMessage' => 'When modifying the delivery purpose of the FlowLog instance or starting and stopping NIS traffic analysis, you specify the type of delivery that is not allowed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeFlowLogs', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\n","errorExample":""}]', + 'title' => '编辑流日志的名称和描述', + 'description' => '- **ModifyFlowLogAttribute**接口属于异步接口,即系统会返回一个请求ID,但该流日志尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeFlowLogs](~~87923~~)查询流日志的修改状态:'."\n" + .' - 当流日志处于**Modifying**状态时,表示流日志正在修改中。'."\n" + .' - 当流日志处于**Active**或者**Inactive**状态时,表示流日志修改成功。'."\n" + .'- **ModifyFlowLogAttribute**接口不支持并发修改同一个流日志的属性。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ActiveFlowLog' => [ + 'summary' => '调用ActiveFlowLog接口启动流日志,启动后开始捕获指定资源的流量。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fl-m5e8vhz2t21sel1nq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + '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' => 'IncorrectBusinessStatus.FlowLog', + 'errorMessage' => 'The business status of flowLog is incorrect.', + ], + [ + 'errorCode' => 'InvalidInstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'InvalidStatus', + 'errorMessage' => 'Current instance status is not valid for this action.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specfied instance is not existed.', + ], + [ + 'errorCode' => 'IncorrectStatus.flowlog', + 'errorMessage' => 'Invalid flowlog status.', + ], + [ + 'errorCode' => 'Forbidden.OperateManagedFlowLog', + 'errorMessage' => 'Authentication is failed for operate managed flowlog.', + ], + [ + 'errorCode' => 'OperationDenied.FlowLogDeliverFailed', + 'errorMessage' => 'The operation is not allowed due to an invalid delivery address.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerAggregationIntervalMismatch', + 'errorMessage' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerNotActive', + 'errorMessage' => 'The specified NIS Traffic Analyzer is not enabled.', + ], + [ + 'errorCode' => 'OperationDenied.NisTrafficAnalyzerNotFound', + 'errorMessage' => 'The specified NIS Traffic Analyzer does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeFlowLogs', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\n","errorExample":""}]', + 'title' => '启动流日志', + 'description' => '* **ActiveFlowLog**接口属于异步接口,即系统会返回一个请求ID,但该流日志尚未启动完成,系统后台的启动任务仍在进行。您可以调用[DescribeFlowLogs](~~87923~~)查询流日志的启动状态:'."\n" + .' - 当流日志处于**Activating**状态时,表示流日志正在启动中。'."\n" + .' - 当流日志处于**Active**状态时,表示流日志启动完成。'."\n" + .'* **ActiveFlowLog**接口不支持并发启动同一个流日志。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeactiveFlowLog' => [ + 'summary' => '调用DeactiveFlowLog接口停止流日志,停止后不再捕获指定资源的流量。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fl-m5e8vhz2t21sel1nq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + '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' => 'IncorrectBusinessStatus.FlowLog', + 'errorMessage' => 'The business status of flowLog is incorrect.', + ], + [ + 'errorCode' => 'InvalidInstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'InvalidStatus', + 'errorMessage' => 'Current instance status is not valid for this action.', + ], + [ + 'errorCode' => 'FlowLogNumberOverLimit', + 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specfied instance is not existed.', + ], + [ + 'errorCode' => 'IncorrectStatus.flowlog', + 'errorMessage' => 'Invalid flowlog status.', + ], + [ + 'errorCode' => 'Forbidden.OperateManagedFlowLog', + 'errorMessage' => 'Authentication is failed for operate managed flowlog.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeFlowLogs', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\n","errorExample":""}]', + 'title' => '停止流日志', + 'description' => '- **DeactiveFlowLog**接口属于异步接口,即系统返回一个请求ID,但该流日志尚未停止,系统后台的停止任务仍在进行。您可以调用[DescribeFlowLogs](~~87923~~)查询流日志的停止状态:'."\n" + .' - 当流日志处于**Deactivating**状态时,表示流日志正在停止中。'."\n" + .' - 当流日志处于**Inactive**状态时,表示流日志停止完成。'."\n" + .'- **DeactiveFlowLog**接口不支持并发停止同一个流日志。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetFlowLogServiceStatus' => [ + 'summary' => '调用GetFlowLogServiceStatus接口查询流日志功能的开通状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + '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-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-06F83A1B457', + ], + 'Enabled' => [ + 'description' => '流日志功能是否开通。取值:'."\n" + ."\n" + .'- **true**:已开通。'."\n" + ."\n" + .'- **false**:未开通。您可以调用[OpenFlowLogService](~~449637~~)接口开通流日志功能。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-06F83A1B457\\",\\n \\"Enabled\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-06F83A1B457\\n true\\n","errorExample":""}]', + 'title' => '查询流日志功能的开通状态', + ], + 'DescribeFlowLogs' => [ + 'summary' => '调用DescribeFlowLogs接口查询流日志。', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域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' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'fl-bp1f6qqhsrc2c12ta****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my Flowlog.', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要捕获的流量的资源类型。取值:'."\n" + .' '."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + .' '."\n" + .'- **VSwitch**:交换机内的所有弹性网卡。'."\n" + .' '."\n" + .'- **VPC**:专有网络内的所有弹性网卡。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NetworkInterface', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要捕获的流量的资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-askldfas****', + ], + ], + [ + 'name' => 'TrafficType', + 'in' => 'query', + 'schema' => [ + 'description' => '采集的流量类型。取值:'."\n" + .' '."\n" + .'- **All**:全部流量。'."\n" + .' '."\n" + .'- **Allow**:访问控制允许的流量。'."\n" + .' '."\n" + .'- **Drop**:访问控制拒绝的流量。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'All', + ], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => '管理捕获到的流量的Project。', + 'type' => 'string', + 'required' => false, + 'example' => 'FlowLogProject', + ], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => '存储捕获到的流量的Logstore。', + 'type' => 'string', + 'required' => false, + 'example' => 'FlowLogStore', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志的状态。取值:'."\n" + .'- **Active**:流日志为启动状态。'."\n" + ."\n" + .'- **Activating**:流日志正在创建中。'."\n" + ."\n" + .'- **Inactive**:流日志为未启动状态。', + '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' => '分页查询时每页的行数,最大值为**50**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '所要查看流日志的VPC的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1nwd16gvo1wgs****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '流日志所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + '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" + .'- **false**:调用失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'FlowLogs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FlowLog' => [ + 'description' => '流日志列表。', + 'type' => 'array', + 'items' => [ + 'description' => '流日志列表。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '流日志的状态。取值:'."\n" + .'- **Active**:流日志为启动状态。'."\n" + ."\n" + .'- **Activating**:流日志正在创建中。'."\n" + ."\n" + .'- **Inactive**:流日志为未启动状态。', + 'type' => 'string', + 'example' => 'Active', + ], + 'CreationTime' => [ + 'description' => '流日志的创建时间。', + 'type' => 'string', + 'example' => '2022-01-21T03:08:50Z', + ], + 'FlowLogName' => [ + 'description' => '流日志名称。', + 'type' => 'string', + 'example' => 'myFlowlog', + ], + 'TrafficType' => [ + 'description' => '流日志捕获的流量类型。取值:'."\n" + ."\n" + .'- **All**:全部流量。'."\n" + .'- **Allow**:访问控制允许的流量。'."\n" + .'- **Drop**:访问控制拒绝的流量。', + 'type' => 'string', + 'example' => 'All', + ], + 'ResourceType' => [ + 'description' => '流日志捕获的流量的资源类型:'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + .'- **VSwitch**:交换机内的所有弹性网卡。'."\n" + .'- **VPC**:专有网络内的所有弹性网卡。', + 'type' => 'string', + 'example' => 'NetworkInterface', + ], + 'Description' => [ + 'description' => '流日志描述信息。', + 'type' => 'string', + 'example' => 'Description', + ], + 'ProjectName' => [ + 'description' => '管理捕获到的流量的Project。', + 'type' => 'string', + 'example' => 'FlowLogProject', + ], + 'LogStoreName' => [ + 'description' => '存储捕获到的流量的Logstore。', + 'type' => 'string', + 'example' => 'FlowLogStore', + ], + 'ResourceId' => [ + 'description' => '流日志捕获的流量的资源ID。', + 'type' => 'string', + 'example' => 'eni-askldfas****', + ], + 'RegionId' => [ + 'description' => '流日志所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'FlowLogId' => [ + 'description' => '流日志ID。', + 'type' => 'string', + 'example' => 'fl-bp1f6qqhsrc2c12ta****', + ], + 'BusinessStatus' => [ + 'description' => '业务状态。取值:'."\n" + ."\n" + .'- **Normal**:正常状态。'."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'AggregationInterval' => [ + 'description' => '流日志的采样间隔。单位:分钟。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TrafficPath' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TrafficPathList' => [ + 'description' => '采集的流量路径。取值:'."\n" + ."\n" + .'- **all**:表示全量采集。'."\n" + .'- **internetGateway**:表示公网流量采集。', + 'type' => 'array', + 'items' => [ + 'description' => '采集的流量路径。取值:'."\n" + ."\n" + .'- **all**(默认值):表示全量采集。'."\n" + .'- **internetGateway**:表示公网流量采集。'."\n" + ."\n" + .''."\n" + .'> 流量路径功能默认不开放,如需使用,请[提交工单](https://selfservice.console.aliyun.com/ticket/category/ga/today)申请。'."\n" + ."\n\n" + .''."\n" + .'> 流量路径功能默认不开放,如需使用,请[提交工单](https://workorder-intl.console.aliyun.com/?spm=5176.11182188.console-base-top.dworkorder.18ae4882n3v6ZW#/ticket/createIndex)申请。'."\n", + 'type' => 'string', + 'example' => 'all', + ], + ], + ], + ], + 'ServiceType' => [ + 'description' => '云服务的托管类型。'."\n" + ."\n" + .'- 可以为空,表示该流日志为用户自己创建。'."\n" + .'- 非空时只支持取值为:**sls**,表示该流日志为通过日志服务控制台创建。'."\n" + ."\n" + .'> 通过日志服务控制台创建的流日志实例可以展示在VPC列表中,但在VPC中无法对该流日志实例进行修改、启动、停止、删除操作,如果您需要对该流日志进行相关操作,您可以登录[日志服务控制台](https://sls.console.aliyun.com)对其进行修改、启动、停止、删除操作。', + 'type' => 'string', + 'example' => 'sls', + ], + 'ResourceGroupId' => [ + 'description' => '流日志所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'FlowLogDeliverStatus' => [ + 'description' => '流日志的投递状态,取值:'."\n" + ."\n" + .'- **SUCCESS**:投递成功。'."\n" + .'- **FAILED**:投递失败。', + 'type' => 'string', + 'example' => 'FAILED', + ], + 'FlowLogDeliverErrorMessage' => [ + 'description' => '当流日志投递失败时,可以根据报错信息排查问题,可能的报错信息有:'."\n" + ."\n" + .'- **UnavaliableTarget**:日志服务SLS的Logstore不可用,无法接收日志。建议查看对应Logstore是否真实存在且可访问。'."\n" + .'- **ProjectNotExist**: 日志服务SLS的Project不存在。建议删除原流日志,创建新流日志指向真实存在的Project。'."\n" + .'- **UnknownError**:发生内部错误,请稍后重试。', + 'type' => 'string', + 'example' => 'UnavaliableTarget', + ], + 'IpVersion' => [ + 'description' => '流日志采集流量的IP地址类型。', + 'type' => 'string', + 'example' => 'IPv4', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'ProjectOrLogstoreNotExist', + 'errorMessage' => 'The specified project or logstore does not exist.', + ], + [ + 'errorCode' => 'SourceProjectNotExist', + 'errorMessage' => 'The Source Project or logstore does not exist.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'This api does not support sub user or role.', + ], + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + ], + '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\\": \\"2022-01-21T03:08:50Z\\",\\n \\"FlowLogName\\": \\"myFlowlog\\",\\n \\"TrafficType\\": \\"All\\",\\n \\"ResourceType\\": \\"NetworkInterface\\",\\n \\"Description\\": \\"Description\\",\\n \\"ProjectName\\": \\"FlowLogProject\\",\\n \\"LogStoreName\\": \\"FlowLogStore\\",\\n \\"ResourceId\\": \\"eni-askldfas****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"FlowLogId\\": \\"fl-bp1f6qqhsrc2c12ta****\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"AggregationInterval\\": 10,\\n \\"TrafficPath\\": {\\n \\"TrafficPathList\\": [\\n \\"all\\"\\n ]\\n },\\n \\"ServiceType\\": \\"sls\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"FlowLogDeliverStatus\\": \\"FAILED\\",\\n \\"FlowLogDeliverErrorMessage\\": \\"UnavaliableTarget\\",\\n \\"IpVersion\\": \\"IPv4\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 20\\n 1\\n F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\n 1\\n true\\n \\n Active\\n 2022-01-21T03:08:50Z\\n myFlowlog\\n All\\n NetworkInterface\\n Description\\n FlowLogProject\\n FlowLogStore\\n eni-askldfas****\\n cn-hangzhou\\n fl-bp1f6qqhsrc2c12ta****\\n Normal\\n 10\\n all\\n sls\\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n FAILED\\n UnavaliableTarget\\n \\n","errorExample":""}]', + 'title' => '查询流日志', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateNetworkAcl' => [ + 'summary' => '调用AssociateNetworkAcl接口,绑定网络ACL到交换机。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Resource', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '关联的资源信息。', + 'type' => 'array', + 'items' => [ + 'description' => '关联的资源信息。', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => '关联资源的类型。取值:**VSwitch**,交换机。'."\n" + ."\n" + .'**N**的取值为**0**~**29**,即最多可以关联30个资源。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VSwitch', + ], + 'ResourceId' => [ + 'description' => '关联资源的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-bp1de348lntdw****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-a2do9e413e0sp****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否检测此次请求。取值:'."\n" + .'- true:发送检查请求。'."\n" + .'- false(默认值):发送正常请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.NetworkAclId', + 'errorMessage' => 'ParameterMissing.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.NetworkAclId', + 'errorMessage' => 'ParameterEmpty.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterMissing.Resources', + 'errorMessage' => 'ParameterMissing.Resources', + ], + [ + 'errorCode' => 'ParameterEmpty.Resources', + 'errorMessage' => 'ParameterEmpty.Resources', + ], + [ + 'errorCode' => 'InvalidNetworkAcl.NotFound', + 'errorMessage' => 'The special Network Acl is not found.', + ], + [ + 'errorCode' => 'NetworkStatus.Modifying', + 'errorMessage' => 'The special Network Acl is in modifying.', + ], + [ + 'errorCode' => 'ResourceStatus.Error', + 'errorMessage' => 'The binding instance is in middle status.', + ], + [ + 'errorCode' => 'InvalidResource.NotFound', + 'errorMessage' => 'The binding instance is not found.', + ], + [ + 'errorCode' => 'InvalidResource.VpcError', + 'errorMessage' => 'The network acl and resource not in same vpc.', + ], + [ + 'errorCode' => 'InvalidResource.BindingExist', + 'errorMessage' => 'The binding instance has been binded.', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + [ + 'errorCode' => 'ParameterIllegal.ResourceType', + 'errorMessage' => 'The specified resource type is illegal.', + ], + [ + 'errorCode' => 'MissingParam.Resource', + 'errorMessage' => 'Missing parameter Resource.', + ], + [ + 'errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', + 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7\\n","errorExample":""}]', + 'title' => '绑定网络ACL到交换机', + 'description' => '- **AssociateNetworkAcl**接口属于异步接口,即系统返回一个请求ID,但该网络ACL尚未绑定成功,系统后台的绑定任务仍在进行。您可以调用[DescribeNetworkAclAttributes](~~116542~~)查询网络ACL的绑定状态:'."\n" + .' - 当网络ACL处于**BINDING**状态时,表示网络ACL正在绑定中。'."\n" + .' - 当网络ACL处于**BINDED**状态时,表示网络ACL绑定成功。'."\n" + .'- **AssociateNetworkAcl**接口不支持并发绑定同一个网络ACL。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateNetworkAcl' => [ + 'summary' => '调用CreateNetworkAcl接口创建网络ACL。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所属的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-dsfd34356vdf****', + ], + ], + [ + 'name' => 'NetworkAclName', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'acl-1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my NetworkAcl.', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否检测此次请求。取值:'."\n" + .'* **true**:发送检查请求。'."\n" + .'* **false**(默认值):发送正常请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NetworkAclId' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'example' => 'nacl-a2do9e413e0spzasx****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'NetworkAclAttribute' => [ + 'description' => '网络ACL的属性。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '网络ACL的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Modifying**:配置中。', + 'type' => 'string', + 'example' => 'Modifying', + ], + 'VpcId' => [ + 'description' => '网络ACL关联的VPC的ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'vpc-a2d33rfpl72k5xsscd****', + ], + 'CreationTime' => [ + 'description' => '网络ACL创建的时间。', + 'type' => 'string', + 'example' => '2021-12-25 11:33:27', + ], + 'Description' => [ + 'description' => '网络ACL的描述信息。', + 'type' => 'string', + 'example' => 'This is my NetworkAcl.', + ], + 'NetworkAclName' => [ + 'description' => '网络ACL的名称。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'acl-1 ', + ], + 'NetworkAclId' => [ + 'description' => '网络ACL的ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'nacl-a2do9e413e0spdefr****', + ], + 'RegionId' => [ + 'description' => '网络ACL所属的地域ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou ', + ], + 'IngressAclEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IngressAclEntry' => [ + 'description' => '入方向规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '入方向规则列表。', + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '入方向规则条目的ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'nae-a2dk86arlydmexscd****', + ], + 'NetworkAclEntryName' => [ + 'description' => '入方向规则条目的名称。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'acl-3 ', + ], + 'Policy' => [ + 'description' => '授权策略,取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'example' => 'accept', + ], + 'Description' => [ + 'description' => '入方向规则的描述信息。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'This is IngressAclEntries. ', + ], + 'SourceCidrIp' => [ + 'description' => '源地址段。'."\n" + ."\n", + 'type' => 'string', + 'example' => '10.0.0.0/24 ', + ], + 'Protocol' => [ + 'description' => '协议类型,取值:'."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:所有协议。', + 'type' => 'string', + 'example' => 'all', + ], + 'Port' => [ + 'description' => '入方向规则的目的端口范围。'."\n" + ."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + ."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'example' => '-1/-1', + ], + ], + ], + ], + ], + ], + 'EgressAclEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EgressAclEntry' => [ + 'description' => '出方向规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '出方向规则列表。', + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '出方向规则条目的ID。', + 'type' => 'string', + 'example' => 'nae-a2d447uw4tillxsdc****', + ], + 'NetworkAclEntryName' => [ + 'description' => '出方向规则条目的名称。', + 'type' => 'string', + 'example' => 'acl-2', + ], + 'Policy' => [ + 'description' => '授权策略,取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'example' => 'accept', + ], + 'Description' => [ + 'description' => '出方向规则的描述信息。', + 'type' => 'string', + 'example' => 'This is EgressAclEntries.', + ], + 'Protocol' => [ + 'description' => '协议类型,取值:'."\n" + ."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:所有协议。', + 'type' => 'string', + 'example' => 'all', + ], + 'DestinationCidrIp' => [ + 'description' => '目标地址段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'Port' => [ + 'description' => '出方向规则的目的端口范围。'."\n" + ."\n" + .'- 当出方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + ."\n" + .'- 当出方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'example' => '-1/-1 ', + ], + ], + ], + ], + ], + ], + 'Resources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Resource' => [ + 'description' => '关联的资源列表。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '关联的资源列表。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '关联资源的状态。取值:'."\n" + ."\n" + .'- **BINDED**:已绑定。'."\n" + ."\n" + .'- **BINDING**:绑定中。'."\n" + ."\n" + .'- **UNBINDING**:已解绑。', + 'type' => 'string', + 'example' => 'BINDED', + ], + 'ResourceType' => [ + 'description' => '关联资源的类型。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'VSwitch', + ], + 'ResourceId' => [ + 'description' => '关联资源的实例ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'vsw-bp1de348lntdwgthy****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.VpcId', + 'errorMessage' => 'ParameterMissing.VpcId', + ], + [ + 'errorCode' => 'ParameterLengthIllegal.Name', + 'errorMessage' => 'ParameterLengthIllegal.Name', + ], + [ + 'errorCode' => 'ParameterIllegal.Name', + 'errorMessage' => 'ParameterIllegal.Name', + ], + [ + 'errorCode' => 'ParameterLengthIllegal.Description', + 'errorMessage' => 'ParameterLengthIllegal.Description', + ], + [ + 'errorCode' => 'ParameterIllegal.Description', + 'errorMessage' => 'ParameterIllegal.Description', + ], + [ + 'errorCode' => 'ParameterEmpty.VpcId', + 'errorMessage' => 'ParameterEmpty.VpcId', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'The vpc is not exist.', + ], + [ + 'errorCode' => 'QuotaExceed.NetworkAcl', + 'errorMessage' => 'Network acl is over limit.', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + [ + 'errorCode' => 'IllegalParamFormat.%s', + 'errorMessage' => 'The param format of %s is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spzasx****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"NetworkAclAttribute\\": {\\n \\"Status\\": \\"Modifying\\",\\n \\"VpcId\\": \\"vpc-a2d33rfpl72k5xsscd****\\",\\n \\"CreationTime\\": \\"2021-12-25 11:33:27\\",\\n \\"Description\\": \\"This is my NetworkAcl.\\",\\n \\"NetworkAclName\\": \\"acl-1\\\\t\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spdefr****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\\\t\\",\\n \\"IngressAclEntries\\": {\\n \\"IngressAclEntry\\": [\\n {\\n \\"NetworkAclEntryId\\": \\"nae-a2dk86arlydmexscd****\\",\\n \\"NetworkAclEntryName\\": \\"acl-3\\\\t\\",\\n \\"Policy\\": \\"accept\\",\\n \\"Description\\": \\"This is IngressAclEntries.\\\\t\\",\\n \\"SourceCidrIp\\": \\"10.0.0.0/24\\\\t\\",\\n \\"Protocol\\": \\"all\\",\\n \\"Port\\": \\"-1/-1\\"\\n }\\n ]\\n },\\n \\"EgressAclEntries\\": {\\n \\"EgressAclEntry\\": [\\n {\\n \\"NetworkAclEntryId\\": \\"nae-a2d447uw4tillxsdc****\\",\\n \\"NetworkAclEntryName\\": \\"acl-2\\",\\n \\"Policy\\": \\"accept\\",\\n \\"Description\\": \\"This is EgressAclEntries.\\",\\n \\"Protocol\\": \\"all\\",\\n \\"DestinationCidrIp\\": \\"10.0.0.0/24\\",\\n \\"Port\\": \\"-1/-1\\\\t\\"\\n }\\n ]\\n },\\n \\"Resources\\": {\\n \\"Resource\\": [\\n {\\n \\"Status\\": \\"BINDED\\",\\n \\"ResourceType\\": \\"VSwitch\\",\\n \\"ResourceId\\": \\"vsw-bp1de348lntdwgthy****\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n nacl-a2do9e413e0spzasx****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n \\n Modifying\\n vpc-a2d33rfpl72k5xsscd****\\n 2021-12-25 11:33:27\\n This is my NetworkAcl.\\n acl-1\\t\\n nacl-a2do9e413e0spdefr****\\n cn-hangzhou\\t\\n \\n nae-a2dk86arlydmexscd****\\n acl-3\\t\\n accept\\n This is IngressAclEntries.\\t\\n 10.0.0.0/24\\t\\n all\\n -1/-1\\n \\n \\n nae-a2d447uw4tillxsdc****\\n acl-2\\n accept\\n This is EgressAclEntries.\\n all\\n 10.0.0.0/24\\n -1/-1\\t\\n \\n \\n BINDED\\n VSwitch\\n vsw-bp1de348lntdwgthy****\\n \\n \\n","errorExample":""}]', + 'title' => '创建网络ACL', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CopyNetworkAclEntries' => [ + 'summary' => '调用CopyNetworkAclEntries接口复制网络ACL规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-a2do9e413e0spxxxxxxxx', + ], + ], + [ + 'name' => 'SourceNetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '被复制的网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-ghuo9ehg3e0spxxxxxxxx', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否检测此次请求。取值:'."\n" + .'* **true**:发送检查请求。'."\n" + .'* **false**(默认值):发送正常请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6608E72F-F276-440F-ABEF-419971CEC4D1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.NetworkAclId', + 'errorMessage' => 'ParameterMissing.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.NetworkAclId', + 'errorMessage' => 'ParameterEmpty.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterMissing.SourceNetworkAclId', + 'errorMessage' => 'ParameterMissing.SourceNetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.SourceNetworkAclId', + 'errorMessage' => 'ParameterEmpty.SourceNetworkAclId', + ], + [ + 'errorCode' => 'InvalidNetworkAcl.NotFound', + 'errorMessage' => 'The special Network Acl is not found.', + ], + [ + 'errorCode' => 'InvalidSourceNetworkAcl.NotFound', + 'errorMessage' => 'The special source network Acl is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6608E72F-F276-440F-ABEF-419971CEC4D1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 6608E72F-F276-440F-ABEF-419971CEC4D1\\n","errorExample":""}]', + 'title' => '复制网络ACL规则', + 'description' => '- **CopyNetworkAclEntries**接口属于异步接口,即系统返回一个请求ID,但该网络ACL规则未复制成功,系统后台的复制任务仍在进行。您可以调用[DescribeNetworkAclAttributes](~~116542~~)查询网络ACL规则的复制状态:'."\n" + .' - 当网络ACL规则处于**Modifying**状态时,表示网络ACL规则正在复制中。'."\n" + .' - 当网络ACL规则处于**Available**状态时,表示网络ACL规则复制成功。'."\n" + .'- **CopyNetworkAclEntries**接口不支持并发复制同一个网络ACL规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteNetworkAcl' => [ + 'summary' => '调用DeleteNetworkAcl接口删除网络ACL。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-bp1lhl0taikrbgnh****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '223e4867-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否检测此次请求。取值:'."\n" + .'* **true**:发送检查请求。'."\n" + .'* **false**(默认值):发送正常请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4B48E3D-DF70-471B-AA83-089E83A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.NetworkAclId', + 'errorMessage' => 'ParameterMissing.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.NetworkAclId', + 'errorMessage' => 'ParameterEmpty.NetworkAclId', + ], + [ + 'errorCode' => 'InvalidNetworkAcl.NotFound', + 'errorMessage' => 'The special Network Acl is not found.', + ], + [ + 'errorCode' => 'NetworkStatus.Modifying', + 'errorMessage' => 'The special Network Acl is in modifying.', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + [ + 'errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', + 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4B48E3D-DF70-471B-AA83-089E83A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4B48E3D-DF70-471B-AA83-089E83A1B45\\n","errorExample":""}]', + 'title' => '删除网络ACL', + 'description' => '**DeleteNetworkAcl**接口不支持并发删除同一个网络ACL。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassociateNetworkAcl' => [ + 'summary' => '调用UnassociateNetworkAcl接口解除网络ACL与交换机的绑定。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Resource', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '关联资源的信息。', + 'type' => 'array', + 'items' => [ + 'description' => '关联资源的信息。', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => '要解绑的关联资源类型。取值:**VSwitch**,交换机。'."\n" + ."\n" + .'**N**的取值为0~29,即最多可以解绑30个资源。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VSwitch', + ], + 'ResourceId' => [ + 'description' => '要解绑的关联资源的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-bp1de348lntdw****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑关联资源的网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-a2do9e413e0sp****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否检测此次请求。取值:'."\n" + .'* **true**:发送检查请求。'."\n" + .'* **false**(默认值):发送正常请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'AD024BAA-2D91-48FD-810B-8FB7489B6EE6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.NetworkAclId', + 'errorMessage' => 'ParameterMissing.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.NetworkAclId', + 'errorMessage' => 'ParameterEmpty.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterMissing.Resources', + 'errorMessage' => 'ParameterMissing.Resources', + ], + [ + 'errorCode' => 'ParameterEmpty.Resources', + 'errorMessage' => 'ParameterEmpty.Resources', + ], + [ + 'errorCode' => 'InvalidNetworkAcl.NotFound', + 'errorMessage' => 'The special Network Acl is not found.', + ], + [ + 'errorCode' => 'NetworkStatus.Modifying', + 'errorMessage' => 'The special Network Acl is in modifying.', + ], + [ + 'errorCode' => 'ResourceStatus.Error', + 'errorMessage' => 'The binding instance is in middle status.', + ], + [ + 'errorCode' => 'InvalidResource.NotFound', + 'errorMessage' => 'The binding instance is not found.', + ], + [ + 'errorCode' => 'InvalidResource.VpcError', + 'errorMessage' => 'The network acl and resource not in same vpc.', + ], + [ + 'errorCode' => 'InvalidResource.NotBinding', + 'errorMessage' => 'The resource has not been binded.', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + [ + 'errorCode' => 'Mismatch.NetworkAclAndVSwitch', + 'errorMessage' => 'The specified network ACL and vSwitch are not matched.', + ], + [ + 'errorCode' => 'MissingParam.Resource', + 'errorMessage' => 'Missing parameter Resource.', + ], + [ + 'errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', + 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AD024BAA-2D91-48FD-810B-8FB7489B6EE6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n AD024BAA-2D91-48FD-810B-8FB7489B6EE6\\n","errorExample":""}]', + 'title' => '解除网络ACL与交换机的绑定', + 'description' => '- **UnassociateNetworkAcl**接口属于异步接口,即系统返回一个请求ID,但该网络ACL与交换机尚未解绑成功,系统后台的解绑任务仍在进行。您可以调用[DescribeNetworkAclAttributes](~~116542~~)查询网络ACL与交换机的解绑状态:'."\n" + .' - 当网络ACL与交换机处于**UNBINDING**状态时,表示网络ACL与交换机正在解绑中。'."\n" + .' - 当网络ACL与交换机处于**UNBINDED**状态时,表示网络ACL与交换机解绑成功。'."\n" + .'- **UnassociateNetworkAcl**接口不支持针对同一个网络ACL并发解绑交换机。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyNetworkAclAttributes' => [ + 'summary' => '调用ModifyNetworkAclAttributes接口修改网络ACL的属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'acl-bp1lhl0taikrxxxxxxxx', + ], + ], + [ + 'name' => 'NetworkAclName', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'acl-1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的描述信息。 '."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my NetworkAcl.', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否检测此次请求。取值:'."\n" + .'* **true**:发送检查请求。'."\n" + .'* **false**(默认值):发送正常请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8F76C3E4-B39F-465D-B8B3-50BAF03CA833', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.NetworkAclId', + 'errorMessage' => 'ParameterMissing.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.NetworkAclId', + 'errorMessage' => 'ParameterEmpty.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterLengthIllegal.Name', + 'errorMessage' => 'ParameterLengthIllegal.Name', + ], + [ + 'errorCode' => 'ParameterIllegal.Name', + 'errorMessage' => 'ParameterIllegal.Name', + ], + [ + 'errorCode' => 'ParameterLengthIllegal.Description', + 'errorMessage' => 'ParameterLengthIllegal.Description', + ], + [ + 'errorCode' => 'ParameterIllegal.Description', + 'errorMessage' => 'ParameterIllegal.Description', + ], + [ + 'errorCode' => 'InvalidNetworkAcl.NotFound', + 'errorMessage' => 'The special Network Acl is not found.', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + [ + 'errorCode' => 'IllegalParamFormat.%s', + 'errorMessage' => 'The param format of %s is illegal.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8F76C3E4-B39F-465D-B8B3-50BAF03CA833\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8F76C3E4-B39F-465D-B8B3-50BAF03CA833\\n","errorExample":""}]', + 'title' => '修改网络ACL的属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateNetworkAclEntries' => [ + 'summary' => '调用UpdateNetworkAclEntries接口更新网络ACL规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'IngressAclEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '入方向规则的信息。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '入方向规则的信息。'."\n", + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '入方向规则条目的ID。'."\n" + ."\n" + .'**N**的取值为**0**~**99**,即最多可以更新100条入方向规则的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'nae-2zepn32de59j8m4****', + ], + 'EntryType' => [ + 'description' => '规则类型,取值为**custom**,表示自定义。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'custom', + ], + 'NetworkAclEntryName' => [ + 'description' => '入方向规则条目的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'acl-3', + ], + 'Policy' => [ + 'description' => '授权策略。取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'drop' => 'drop', + 'accept' => 'accept', + ], + 'example' => 'accept', + ], + 'SourceCidrIp' => [ + 'description' => '源地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'IpVersion' => [ + 'description' => 'IP版本:'."\n" + .'- **IPv4**'."\n" + .'- **IPv6**', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'IPv6' => 'IPv6', + 'IPv4' => 'IPv4', + ], + 'example' => 'IPv4', + ], + 'Description' => [ + 'description' => '入方向规则的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is IngressAclEntries.', + ], + 'Protocol' => [ + 'description' => '协议类型。取值:'."\n" + ."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:支持所有协议。'."\n" + ."\n" + .'- **icmpv6**: ipv6网络控制报文协议。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'all' => 'all', + 'tcp' => 'tcp', + 'udp' => 'udp', + 'gre' => 'gre', + 'icmp' => 'icmp', + 'icmpv6' => 'icmpv6', + ], + 'example' => 'all', + ], + 'Port' => [ + 'description' => '入方向规则的源端口范围。'."\n" + ."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'required' => false, + 'example' => '-1/-1', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'EgressAclEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '出方向规则的信息。', + 'type' => 'array', + 'items' => [ + 'description' => '出方向规则的信息。'."\n", + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '出方向规则条目的ID。'."\n" + ."\n" + .'**N**的取值为**0**~**99**,即最多可以更新100条出方向规则的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'nae-2zecs97e0brcge46****', + ], + 'EntryType' => [ + 'description' => '规则类型,取值为**custom**,表示自定义。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'custom', + ], + 'NetworkAclEntryName' => [ + 'description' => '出方向规则条目的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'acl-2', + ], + 'Policy' => [ + 'description' => '授权策略。取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'drop' => 'drop', + 'accept' => 'accept', + ], + 'example' => 'accept', + ], + 'Description' => [ + 'description' => '出方向规则的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is EgressAclEntries.', + ], + 'Protocol' => [ + 'description' => '协议类型。取值:'."\n" + ."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:支持所有协议。'."\n" + ."\n" + .'- **icmpv6**:ipv6网络控制报文协议', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'all' => 'all', + 'tcp' => 'tcp', + 'udp' => 'udp', + 'gre' => 'gre', + 'icmp' => 'icmp', + 'icmpv6' => 'icmpv6', + ], + 'example' => 'all', + ], + 'DestinationCidrIp' => [ + 'description' => '目标地址的网络。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'IpVersion' => [ + 'description' => 'IP版本:'."\n" + ."\n" + .'- **IPv4**'."\n" + .'- **IPv6**', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'IPv6' => 'IPv6', + 'IPv4' => 'IPv4', + ], + 'example' => 'IPv4', + ], + 'Port' => [ + 'description' => '出方向规则的目的端口范围。'."\n" + ."\n" + .'- 当出方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + .'- 当出方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'required' => false, + 'example' => '-1/-1', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'UpdateIngressAclEntries', + 'in' => 'query', + 'schema' => [ + 'description' => '是否更新入方向规则。取值:'."\n" + ."\n" + .'- **true**:更新。'."\n" + ."\n" + .'- **false**(默认):不更新。'."\n" + ."\n" + .'> 该参数不支持增量修改,当ACL已经有一条入方向规则,如果想要再增加一条入方向规则,调用该API时必须把这两条规则都传入,如果只传入新增的入方向规则,会把已有的入方向规则删除。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'UpdateEgressAclEntries', + 'in' => 'query', + 'schema' => [ + 'description' => '是否更新出方向规则。取值:'."\n" + ."\n" + .'- **true**:更新。'."\n" + ."\n" + .'- **false**(默认):不更新。'."\n" + ."\n" + .'> 该参数不支持增量修改,当ACL已经有一条出方向规则,如果想要再增加一条出方向规则,调用该API时必须把这两条规则都传入,如果只传入新增的出方向规则,会把已有的出方向规则删除。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-bp1lhl0taikrzxsc****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否是预检', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1170A5A0-E760-4331-9133-A7D38D973215', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.NetworkAclId', + 'errorMessage' => 'ParameterMissing.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.NetworkAclId', + 'errorMessage' => 'ParameterEmpty.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterMissing.Port', + 'errorMessage' => 'ParameterMissing.Port', + ], + [ + 'errorCode' => 'ParameterIllegal.Port', + 'errorMessage' => 'ParameterIllegal.Port', + ], + [ + 'errorCode' => 'ParameterIllegal.Policy', + 'errorMessage' => 'ParameterIllegal.Policy', + ], + [ + 'errorCode' => 'ParameterMissing.Policy', + 'errorMessage' => 'ParameterMissing.Policy', + ], + [ + 'errorCode' => 'ParameterIllegal.Protocol', + 'errorMessage' => 'ParameterIllegal.Protocol', + ], + [ + 'errorCode' => 'ParameterMissing.Protocol', + 'errorMessage' => 'ParameterMissing.Protocol', + ], + [ + 'errorCode' => 'ParameterLengthIllegal.Name', + 'errorMessage' => 'ParameterLengthIllegal.Name', + ], + [ + 'errorCode' => 'ParameterIllegal.Name', + 'errorMessage' => 'ParameterIllegal.Name', + ], + [ + 'errorCode' => 'ParameterLengthIllegal.Description', + 'errorMessage' => 'ParameterLengthIllegal.Description', + ], + [ + 'errorCode' => 'ParameterIllegal.Description', + 'errorMessage' => 'ParameterIllegal.Description', + ], + [ + 'errorCode' => 'ParameterIllegal.SourceCidrIp', + 'errorMessage' => 'ParameterIllegal.SourceCidrIp', + ], + [ + 'errorCode' => 'ParameterMissing.SourceCidrIp', + 'errorMessage' => 'ParameterMissing.SourceCidrIp', + ], + [ + 'errorCode' => 'ParameterIllegal.DestinationCidrIp', + 'errorMessage' => 'ParameterIllegal.DestinationCidrIp', + ], + [ + 'errorCode' => 'ParameterMissing.DestinationCidrIp', + 'errorMessage' => 'ParameterMissing.DestinationCidrIp', + ], + [ + 'errorCode' => 'QuotaExceed.NetworkAclEntry', + 'errorMessage' => 'Network acl entry is over limit.', + ], + [ + 'errorCode' => 'InvalidNetworkAcl.NotFound', + 'errorMessage' => 'The special Network Acl is not found.', + ], + [ + 'errorCode' => 'NetworkStatus.Modifying', + 'errorMessage' => 'The special Network Acl is in modifying.', + ], + [ + 'errorCode' => 'ResourceStatus.Error', + 'errorMessage' => 'The binding instance is in middle status.', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + [ + 'errorCode' => 'IllegalParam.IngressAclEntryId', + 'errorMessage' => 'The specified IngressAclEntryId is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.EgressAclEntryId', + 'errorMessage' => 'The specified EgressAclEntryId is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.VpcIpv6NotEnabled', + 'errorMessage' => 'IPv6 has not been enabled for the VPC.', + ], + [ + 'errorCode' => 'IllegalParam.SourceCidrIp', + 'errorMessage' => 'Param SourceCidrIp is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Policy', + 'errorMessage' => 'Param Policy illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Protocol', + 'errorMessage' => 'Param Protocol illegal.', + ], + [ + 'errorCode' => 'IllegalParam.DestinationCidrIp', + 'errorMessage' => 'Param DestinationCidrIp illegal.', + ], + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => 'Param IpVersion illegal.', + ], + [ + 'errorCode' => 'IllegalParam.PortRange', + 'errorMessage' => 'The specified port range is invalid.', + ], + [ + 'errorCode' => 'ResourceNotFound.PrefixList', + 'errorMessage' => 'The specified resource of prefixList is not found.', + ], + [ + 'errorCode' => 'OperationDenied.IpVersionInconsistencyWithPrefixList', + 'errorMessage' => 'The ip version of the prefix list %s you passed in is inconsistent with the actual ip version of the prefix list.', + ], + [ + 'errorCode' => 'OperationDenied.SystemPrefixList', + 'errorMessage' => 'The operation is not allowed because of SystemPrefixList.', + ], + [ + 'errorCode' => 'IncorrectStatus.PrefixList', + 'errorMessage' => 'The status of prefixList is incorrect.', + ], + [ + 'errorCode' => 'UnsupportedRegion.PrefixListEntry', + 'errorMessage' => 'The feature of prefixList entry is not supported in this region.', + ], + [ + 'errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', + 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1170A5A0-E760-4331-9133-A7D38D973215\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 1170A5A0-E760-4331-9133-A7D38D973215\\n","errorExample":""}]', + 'title' => '更新网络ACL规则', + 'description' => '- **UpdateNetworkAclEntries**接口属于异步接口,即系统返回一个请求ID,但该网络ACL规则尚未更新成功,系统后台的更新任务仍在进行。您可以调用[DescribeNetworkAclAttributes](~~116542~~)查询网络ACL规则的更新状态:'."\n" + .' - 当网络ACL规则处于**Modifying**状态时,表示网络ACL规则正在更新中。'."\n" + .' - 当网络ACL规则处于**Available**状态时,表示网络ACL规则更新成功。'."\n" + .'- **UpdateNetworkAclEntries**接口不支持并发更新同一个网络ACL规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeNetworkAclAttributes' => [ + 'summary' => '调用DescribeNetworkAclAttributes接口查询网络ACL的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-a2do9e413e0spzasx****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F5905F9C-0161-4E72-9CB1-1F3F3CF6268A', + ], + 'NetworkAclAttribute' => [ + 'description' => '网络ACL的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '关联资源的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Modifying**:配置中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'VpcId' => [ + 'description' => '网络ACL关联的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-a2d33rfpl72k5defr****', + ], + 'CreationTime' => [ + 'description' => '网络ACL创建的时间。', + 'type' => 'string', + 'example' => '2021-12-25 11:33:27', + ], + 'Description' => [ + 'description' => '网络ACL的描述信息。', + 'type' => 'string', + 'example' => 'This is my NetworkAcl.', + ], + 'NetworkAclName' => [ + 'description' => '网络ACL的名称。', + 'type' => 'string', + 'example' => 'acl-1', + ], + 'NetworkAclId' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'example' => 'nacl-a2do9e413e0spnhmj****', + ], + 'OwnerId' => [ + 'description' => '网络ACL所属的阿里云账号ID。'."\n" + ."\n" + .'>该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。>', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2546073170691****'."\n", + ], + 'RegionId' => [ + 'description' => '网络ACL所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'IngressAclEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IngressAclEntry' => [ + 'description' => '网络ACL入方向规则信息。', + 'type' => 'array', + 'items' => [ + 'description' => '网络ACL入方向规则信息。', + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '入方向规则条目的ID。', + 'type' => 'string', + 'example' => 'nae-a2dk86arlydmevfbg****', + ], + 'EntryType' => [ + 'description' => '规则类型,取值为**custom**,表示自定义。', + 'type' => 'string', + 'example' => 'custom', + ], + 'NetworkAclEntryName' => [ + 'description' => '入方向规则条目的名称。', + 'type' => 'string', + 'example' => 'acl-3', + ], + 'Policy' => [ + 'description' => '授权策略,取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'example' => 'accept', + ], + 'Description' => [ + 'description' => '入方向规则的描述信息。', + 'type' => 'string', + 'example' => 'This is IngressAclEntries.', + ], + 'SourceCidrIp' => [ + 'description' => '源地址的网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**:IPv4版本。'."\n" + .'- **IPv6**:IPv6版本。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'Protocol' => [ + 'description' => '协议类型,取值:'."\n" + ."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:支持所有协议。', + 'type' => 'string', + 'example' => 'all', + ], + 'Port' => [ + 'description' => '入方向规则的目的端口范围。'."\n" + ."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'example' => '-1/-1', + ], + ], + ], + ], + ], + ], + 'EgressAclEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EgressAclEntry' => [ + 'description' => '网络ACL出方向规则信息。', + 'type' => 'array', + 'items' => [ + 'description' => '网络ACL出方向规则信息。', + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '出方向规则条目的ID。', + 'type' => 'string', + 'example' => 'nae-a2d447uw4tillxdcv****', + ], + 'EntryType' => [ + 'description' => '规则类型,取值为**custom**,表示自定义。 ', + 'type' => 'string', + 'example' => 'custom', + ], + 'NetworkAclEntryName' => [ + 'description' => '出方向规则条目的名称。', + 'type' => 'string', + 'example' => 'acl-2', + ], + 'Policy' => [ + 'description' => '授权策略,取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'example' => 'accept', + ], + 'Description' => [ + 'description' => '出方向规则的描述信息。', + 'type' => 'string', + 'example' => 'This is EgressAclEntries.', + ], + 'Protocol' => [ + 'description' => '协议类型,取值:'."\n" + ."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:支持所有协议。', + 'type' => 'string', + 'example' => 'all', + ], + 'DestinationCidrIp' => [ + 'description' => '目标地址段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**:IPv4版本。'."\n" + .'- **IPv6**:IPv6版本。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'Port' => [ + 'description' => '出方向规则的目的端口范围。'."\n" + ."\n" + .'- 当出方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + .'- 当出方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'example' => '-1/-1', + ], + ], + ], + ], + ], + ], + 'Resources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Resource' => [ + 'description' => '关联的资源。', + 'type' => 'array', + 'items' => [ + 'description' => '关联的资源。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '关联资源的状态。取值:'."\n" + ."\n" + .'- **BINDED**:已绑定。'."\n" + ."\n" + .'- **BINDING**:绑定中。'."\n" + ."\n" + .'- **UNBINDING**:已解绑。', + 'type' => 'string', + 'example' => 'BINDED', + ], + 'ResourceType' => [ + 'description' => '关联资源的类型。取值:**VSwitch**,交换机。', + 'type' => 'string', + 'example' => 'VSwitch', + ], + 'ResourceId' => [ + 'description' => '关联资源的实例ID。', + 'type' => 'string', + 'example' => 'vsw-bp1de348lntdwxscd****', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'ParameterMissing.NetworkAclId', + 'errorMessage' => 'ParameterMissing.NetworkAclId', + ], + [ + 'errorCode' => 'ParameterEmpty.NetworkAclId', + 'errorMessage' => 'ParameterEmpty.NetworkAclId', + ], + [ + 'errorCode' => 'InvalidNetworkAcl.NotFound', + 'errorMessage' => 'The special Network Acl is not found.', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F5905F9C-0161-4E72-9CB1-1F3F3CF6268A\\",\\n \\"NetworkAclAttribute\\": {\\n \\"Status\\": \\"Available\\",\\n \\"VpcId\\": \\"vpc-a2d33rfpl72k5defr****\\",\\n \\"CreationTime\\": \\"2021-12-25 11:33:27\\",\\n \\"Description\\": \\"This is my NetworkAcl.\\",\\n \\"NetworkAclName\\": \\"acl-1\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spnhmj****\\",\\n \\"OwnerId\\": 0,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IngressAclEntries\\": {\\n \\"IngressAclEntry\\": [\\n {\\n \\"NetworkAclEntryId\\": \\"nae-a2dk86arlydmevfbg****\\",\\n \\"EntryType\\": \\"custom\\",\\n \\"NetworkAclEntryName\\": \\"acl-3\\",\\n \\"Policy\\": \\"accept\\",\\n \\"Description\\": \\"This is IngressAclEntries.\\",\\n \\"SourceCidrIp\\": \\"10.0.0.0/24\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"Protocol\\": \\"all\\",\\n \\"Port\\": \\"-1/-1\\"\\n }\\n ]\\n },\\n \\"EgressAclEntries\\": {\\n \\"EgressAclEntry\\": [\\n {\\n \\"NetworkAclEntryId\\": \\"nae-a2d447uw4tillxdcv****\\",\\n \\"EntryType\\": \\"custom\\",\\n \\"NetworkAclEntryName\\": \\"acl-2\\",\\n \\"Policy\\": \\"accept\\",\\n \\"Description\\": \\"This is EgressAclEntries.\\",\\n \\"Protocol\\": \\"all\\",\\n \\"DestinationCidrIp\\": \\"10.0.0.0/24\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"Port\\": \\"-1/-1\\"\\n }\\n ]\\n },\\n \\"Resources\\": {\\n \\"Resource\\": [\\n {\\n \\"Status\\": \\"BINDED\\",\\n \\"ResourceType\\": \\"VSwitch\\",\\n \\"ResourceId\\": \\"vsw-bp1de348lntdwxscd****\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n F5905F9C-0161-4E72-9CB1-1F3F3CF6268A\\n \\n Available\\n vpc-a2d33rfpl72k5defr****\\n 2021-12-25 11:33:27\\n This is my NetworkAcl.\\n acl-1\\n nacl-a2do9e413e0spnhmj****\\n 253460731706911260\\n cn-hangzhou\\n \\n nae-a2dk86arlydmevfbg****\\n acl-3\\n accept\\n This is IngressAclEntries.\\n 10.0.0.0/24\\n all\\n -1/-1\\n \\n \\n nae-a2d447uw4tillxdcv****\\n acl-2\\n accept\\n This is EgressAclEntries.\\n all\\n 10.0.0.0/24\\n -1/-1\\n \\n \\n BINDED\\n VSwitch\\n vsw-bp1de348lntdwxscd****\\n \\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询网络ACL的详细信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeNetworkAcls' => [ + 'summary' => '调用DescribeNetworkAcls接口查看网络ACL列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的ID。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nacl-bp1lhl0taikrbgnh****', + ], + ], + [ + 'name' => 'NetworkAclName', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'acl-1', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL关联的VPC的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-m5ebpc2xh64mqm27e****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '关联实例的类型。取值:**VSwitch**,交换机。'."\n" + ."\n" + .'**ResourceType**和**ResourceId**参数需要同时指定才生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'VSwitch', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '关联实例的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1de348lntdwnhbg****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所属的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络ACL所属的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'string', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'string', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表包含的ACL数。', + 'type' => 'string', + 'example' => '2', + ], + 'NetworkAcls' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkAcl' => [ + 'description' => '网络ACL的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '网络ACL的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '网络ACL的状态。取值:'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Modifying**:配置中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'VpcId' => [ + 'description' => '关联的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-m5ebpc2xh64mqm27e****', + ], + 'CreationTime' => [ + 'description' => '网络ACL的创建时间。', + 'type' => 'string', + 'example' => '2021-12-25 11:44:17', + ], + 'Description' => [ + 'description' => '网络ACL的描述信息。 '."\n", + 'type' => 'string', + 'example' => 'This is my NetworkAcl.', + ], + 'NetworkAclName' => [ + 'description' => '网络ACL的名称。', + 'type' => 'string', + 'example' => 'acl-1', + ], + 'NetworkAclId' => [ + 'description' => '网络ACL的ID。', + 'type' => 'string', + 'example' => 'nacl-a2do9e413e0spxscd****', + ], + 'OwnerId' => [ + 'description' => '网络ACL所属阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '253460731706911258', + ], + 'RegionId' => [ + 'description' => '网络ACL所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'IngressAclEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IngressAclEntry' => [ + 'description' => '入方向规则信息。', + 'type' => 'array', + 'items' => [ + 'description' => '入方向规则信息。', + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '入方向规则条目的ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'nae-a2dk86arlydmezasw****', + ], + 'EntryType' => [ + 'description' => '规则类型,取值为**custom**,表示自定义。 ', + 'type' => 'string', + 'example' => 'custom', + ], + 'NetworkAclEntryName' => [ + 'description' => '入方向规则条目的名称。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'acl-3 ', + ], + 'Policy' => [ + 'description' => '授权策略,取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'example' => 'accept', + ], + 'Description' => [ + 'description' => '入方向规则的描述信息。'."\n" + ."\n\n" + ."\n", + 'type' => 'string', + 'example' => 'This is IngressAclEntries.', + ], + 'SourceCidrIp' => [ + 'description' => '源地址段。'."\n" + ."\n", + 'type' => 'string', + 'example' => '10.0.0.0/24 ', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**:IPv4版本。'."\n" + .'- **IPv6**:IPv6版本。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'Protocol' => [ + 'description' => '协议类型,取值:'."\n" + ."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:支持所有协议。', + 'type' => 'string', + 'example' => 'all', + ], + 'Port' => [ + 'description' => '入方向规则的目的端口范围。'."\n" + ."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + .'- 当入方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'example' => '-1/-1 ', + ], + ], + ], + ], + ], + ], + 'EgressAclEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EgressAclEntry' => [ + 'description' => '出方向规则信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NetworkAclEntryId' => [ + 'description' => '出方向规则条目的ID。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'nae-a2d447uw4tillfvgb****', + ], + 'EntryType' => [ + 'description' => '规则类型,取值为**custom**,表示自定义。 ', + 'type' => 'string', + 'example' => 'custom', + ], + 'NetworkAclEntryName' => [ + 'description' => '出方向规则条目的名称。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'acl-2 ', + ], + 'Policy' => [ + 'description' => '授权策略,取值:'."\n" + ."\n" + .'- **accept**:允许。'."\n" + ."\n" + .'- **drop**:拒绝。', + 'type' => 'string', + 'example' => 'accept', + ], + 'Description' => [ + 'description' => '出方向规则的描述信息。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'This is EgressAclEntries.', + ], + 'Protocol' => [ + 'description' => '协议类型,取值:'."\n" + ."\n" + .'- **icmp**:网络控制报文协议。'."\n" + ."\n" + .'- **gre**:通用路由封装协议。'."\n" + ."\n" + .'- **tcp**:传输控制协议。'."\n" + ."\n" + .'- **udp**:用户数据报协议。'."\n" + ."\n" + .'- **all**:支持所有协议。', + 'type' => 'string', + 'example' => 'all', + ], + 'DestinationCidrIp' => [ + 'description' => '目标地址段。'."\n" + ."\n", + 'type' => 'string', + 'example' => '10.0.0.0/24 ', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**: IPv4版本。'."\n" + .'- **IPv6**: IPv6版本。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'Port' => [ + 'description' => '出方向规则的目的端口范围。'."\n" + ."\n\n" + .'- 当出方向规则的**Protocol**(协议类型)为**all**、**icmp**或**gre**时,端口范围为-1/-1,表示不限制端口。'."\n" + .'- 当出方向规则的**Protocol**(协议类型)为**tcp**或**udp**时,端口范围为**1**~**65535**,格式为**1/200**或**80/80**,表示端口1到端口200或端口80。', + 'type' => 'string', + 'example' => '-1/-1 ', + ], + ], + ], + ], + ], + ], + 'Resources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Resource' => [ + 'description' => '关联的资源。', + 'type' => 'array', + 'items' => [ + 'description' => '关联的资源。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '关联资源的状态。取值:'."\n" + ."\n" + .'- **BINDED**:已绑定。'."\n" + ."\n" + .'- **BINDING**:绑定中。'."\n" + ."\n" + .'- **UNBINDING**:已解绑。', + 'type' => 'string', + 'example' => 'BINDED', + ], + 'ResourceType' => [ + 'description' => '关联资源的类型。', + 'type' => 'string', + 'example' => 'VSwitch', + ], + 'ResourceId' => [ + 'description' => '关联资源的ID。', + 'type' => 'string', + 'example' => 'vsw-bp1de348lntdwcdf****', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ParameterMissing.AliUid', + 'errorMessage' => 'ParameterMissing.AliUid', + ], + [ + 'errorCode' => 'ParameterMissing.Bid', + 'errorMessage' => 'ParameterMissing.Bid', + ], + [ + 'errorCode' => 'ParameterMissing.RegionId', + 'errorMessage' => 'ParameterMissing.RegionId', + ], + [ + 'errorCode' => 'ParameterEmpty.RegionId', + 'errorMessage' => 'ParameterEmpty.RegionId', + ], + [ + 'errorCode' => 'NotSupport.NetworkAcl', + 'errorMessage' => 'Network acl is not support now.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": \\"10\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"TotalCount\\": \\"2\\",\\n \\"NetworkAcls\\": {\\n \\"NetworkAcl\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"VpcId\\": \\"vpc-m5ebpc2xh64mqm27e****\\",\\n \\"CreationTime\\": \\"2021-12-25 11:44:17\\",\\n \\"Description\\": \\"This is my NetworkAcl.\\",\\n \\"NetworkAclName\\": \\"acl-1\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spxscd****\\",\\n \\"OwnerId\\": 253460731706911260,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IngressAclEntries\\": {\\n \\"IngressAclEntry\\": [\\n {\\n \\"NetworkAclEntryId\\": \\"nae-a2dk86arlydmezasw****\\",\\n \\"EntryType\\": \\"custom\\",\\n \\"NetworkAclEntryName\\": \\"acl-3\\\\t\\",\\n \\"Policy\\": \\"accept\\",\\n \\"Description\\": \\"This is IngressAclEntries.\\",\\n \\"SourceCidrIp\\": \\"10.0.0.0/24\\\\t\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"Protocol\\": \\"all\\",\\n \\"Port\\": \\"-1/-1\\\\t\\"\\n }\\n ]\\n },\\n \\"EgressAclEntries\\": {\\n \\"EgressAclEntry\\": [\\n {\\n \\"NetworkAclEntryId\\": \\"nae-a2d447uw4tillfvgb****\\",\\n \\"EntryType\\": \\"custom\\",\\n \\"NetworkAclEntryName\\": \\"acl-2\\\\t\\",\\n \\"Policy\\": \\"accept\\",\\n \\"Description\\": \\"This is EgressAclEntries.\\",\\n \\"Protocol\\": \\"all\\",\\n \\"DestinationCidrIp\\": \\"10.0.0.0/24\\\\t\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"Port\\": \\"-1/-1\\\\t\\"\\n }\\n ]\\n },\\n \\"Resources\\": {\\n \\"Resource\\": [\\n {\\n \\"Status\\": \\"BINDED\\",\\n \\"ResourceType\\": \\"VSwitch\\",\\n \\"ResourceId\\": \\"vsw-bp1de348lntdwcdf****\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\n 1\\n 2\\n \\n Available\\n vpc-m5ebpc2xh64mqm27e****\\n 2021-12-25 11:44:17\\n This is my NetworkAcl.\\n acl-1\\n nacl-a2do9e413e0spxscd****\\n 253460731706911260\\n cn-hangzhou\\n \\n nae-a2dk86arlydmezasw****\\n acl-3\\t\\n accept\\n This is IngressAclEntries.\\n 10.0.0.0/24\\t\\n all\\n -1/-1\\t\\n \\n \\n nae-a2d447uw4tillfvgb****\\n acl-2\\t\\n accept\\n This is EgressAclEntries.\\n all\\n 10.0.0.0/24\\t\\n -1/-1\\t\\n \\n \\n BINDED\\n VSwitch\\n vsw-bp1de348lntdwcdf****\\n \\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查看网络ACL列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateHaVip' => [ + 'summary' => '调用CreateHaVip接口创建高可用虚拟IP(HaVip)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所属的交换机ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-asdfjlnaue4g****', + ], + ], + [ + 'name' => 'IpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip的IP地址。'."\n" + ."\n" + .'指定的IP地址必须为交换机网段中未被占用的IP地址。如果不指定,则从指定的交换机中随机分配一个未被占用的IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.XX.XX.10', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip的描述信息。'."\n" + ."\n" + .'描述长度为1~255个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my HaVip.', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + 'IpAddress' => [ + 'description' => 'HaVip的IP地址。', + 'type' => 'string', + 'example' => '192.XX.XX.10', + ], + 'HaVipId' => [ + 'description' => 'HaVip的ID。', + 'type' => 'string', + 'example' => 'havip-2zeo05qre24nhrqpy****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidIPAddress.OutOfRange', + 'errorMessage' => 'The specified IPAddress is out of VSwitch CIDR.', + ], + [ + 'errorCode' => 'InvalidIPAddress.NotAvailable', + 'errorMessage' => 'The specified IPAddress is not available because it is a system reserved IPAddress.', + ], + [ + 'errorCode' => 'InvalidIPAddress.AlreadyUsed', + 'errorMessage' => 'The specified IPAddress is already used by other resource.', + ], + [ + 'errorCode' => 'InvalidIPAddress.Malformed', + 'errorMessage' => 'The specified IPAddress is not a valid or strict address.', + ], + [ + 'errorCode' => 'Abs.Vpc.InvalidName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidIPAddress.OutOfVswCIDR', + 'errorMessage' => 'The specified IPAddress is out of VSwitch CIDR.', + ], + [ + 'errorCode' => 'InvalidIPAddress.AlreadyInUse', + 'errorMessage' => 'The specified IPAddress is already used by other resource.', + ], + [ + 'errorCode' => 'UnsupportedFeature.CloudBoxHaVip', + 'errorMessage' => 'The HAVIP feature is not supported in cloud box.', + ], + [ + 'errorCode' => 'CountLimitExceed.HaVipInVpc', + 'errorMessage' => 'Specified Vpc exceeds the quota of max number of ha-vip count.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidIpReservedByVSwitch', + 'errorMessage' => 'The specified ip address is the reserved address of the switch.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceGroupId', + 'errorMessage' => 'Invalid ResourceGroupld value.', + ], + [ + 'errorCode' => 'IncorrectStatus.VSwitch', + 'errorMessage' => 'The specified vSwitch status is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CountLimitExceed.HaVipInVpc', + 'errorMessage' => 'Specified Vpc exceeds the quota of max number of ha-vip count.', + ], + [ + 'errorCode' => 'QuotaExceeded.HaVip', + 'errorMessage' => 'Living HaVip quota exceeded.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified VSwitch does not exist in the specified region.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\",\\n \\"IpAddress\\": \\"192.XX.XX.10\\",\\n \\"HaVipId\\": \\"havip-2zeo05qre24nhrqpy****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C44F62BE-9CE7-4277-B117-69243F3988BF\\n 192.XX.XX.10\\n havip-2zeo05qre24nhrqpy****\\n","errorExample":""}]', + 'title' => '创建高可用虚拟IP(HaVip)', + 'description' => '**CreateHaVip**接口属于异步接口,即系统会返回HaVip的ID,但该HaVip尚未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeHaVips](~~114611~~)查询HaVip的创建状态:'."\n" + .'- 当HaVip处于**Creating**状态时,表示HaVip正在创建中。'."\n" + .'- 当HaVip处于**Available**状态时,表示HaVip创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateHaVip' => [ + 'summary' => '调用AssociateHaVip接口将HaVip绑定到专有网络ECS实例或弹性网卡上。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定的HaVip的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'havip-2zeo05qre24nhrqpy****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '与HaVip绑定的ECS实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-faf344422ffsfad****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定HaVip的实例类型,取值:'."\n" + ."\n" + .'- **EcsInstance**:云服务器ECS实例。'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡实例,当绑定HaVip的实例为弹性网卡,该参数必须填写。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsInstance', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationUnsupported.BindOnFreeNetworkInterface', + 'errorMessage' => 'The network interface must be attached to an ECS instance.', + ], + [ + 'errorCode' => 'OperationUnsupported.BindMultipleType', + 'errorMessage' => 'You cannot bind HaVip to multiple instance types.', + ], + [ + 'errorCode' => 'OperationUnsupported.BindOnMultipleVswitch', + 'errorMessage' => 'The bound instance and HaVip must be on the same vSwitch.', + ], + [ + 'errorCode' => 'InvalidVip.Status', + 'errorMessage' => 'vip invalid status', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'ECS instance can be operated by this action only when it?s status is Running or Stopped.', + ], + [ + 'errorCode' => 'CountLimitExceed.HaVipOnInstance', + 'errorMessage' => 'The amount of HaVip associated with the specified Instance reach its limits.', + ], + [ + 'errorCode' => 'CountLimitExceeded.HaVipOnECSInstance', + 'errorMessage' => 'The amount of Instance associated with the specified HaVip reach its limits.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'InvalidNetworkInterfaceId.NotFound', + 'errorMessage' => 'The network interface is not found.', + ], + [ + 'errorCode' => 'OperationFailed.QueryNetworkInterfaceInfo', + 'errorMessage' => 'Failed to query network interface information.', + ], + [ + 'errorCode' => 'IllegalParam.InstanceType', + 'errorMessage' => 'The specified instance type is invalid. Only ECS instances and network interface are allowed.', + ], + [ + 'errorCode' => 'OperationUnsupported.BindOnSameEcs', + 'errorMessage' => 'You cannot bind two network interfaces on the same ECS instance.', + ], + [ + 'errorCode' => 'OperationUnsupported.HavipBindType', + 'errorMessage' => 'You cannot bind HAVIP to network interface in the specified region.', + ], + [ + 'errorCode' => 'InvalidInstance.NotExist', + 'errorMessage' => 'InvalidInstance.NotExist : The specified Instance does not exist in the specified region. i-bp136w25mhx503ptilrh\\r\\nRequestId : A961CC27-D797-4E16-B1B3-19B9ECBA1495', + ], + [ + 'errorCode' => 'OperationDenied.BindOnSameEcs', + 'errorMessage' => 'The operation is not allowed because networkinterface bind on same instance.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified Instance does not exist in the specified region.', + ], + [ + 'errorCode' => 'ResourceNotFound.EcsInstance', + 'errorMessage' => 'The specified resource of ECS instance is not found.', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllow', + 'errorMessage' => 'Bind instance status invalid', + ], + [ + 'errorCode' => 'InvalidHaVip.Exist', + 'errorMessage' => 'haVip already bind exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'QuotaExceeded.HaVipBindInstance', + 'errorMessage' => 'The amount of instance associated with the specified haVip reach its limits.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified Instance does not exist in the specified region.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C44F62BE-9CE7-4277-B117-69243F3988BF\\n","errorExample":""}]', + 'title' => '将HaVip绑定到专有网络ECS实例上', + 'description' => '在调用本接口绑定HaVip时,请注意:'."\n" + ."\n" + .'- HaVip绑定后立即生效,无需重启ECS实例,但需要将HaVip配置到ECS实例的弹性网卡上。 '."\n" + ."\n" + .'- HaVip和要绑定的ECS实例必须同属于一个交换机。 '."\n" + ."\n" + .'- 一个HaVip支持同时绑定10个ECS实例或同时绑定10个弹性网卡,但一个HaVip不能同时绑定ECS实例和弹性网卡。'."\n" + ."\n" + .'- 要绑定的ECS实例的状态必须为**运行中**或**停止**。 '."\n" + ."\n" + .'- HaVip实例的状态必须为**Available**或**InUse**。'."\n" + ."\n" + .'- **AssociateHaVip**接口属于异步接口,即系统返回一个请求ID,但该HaVip并未绑定完成,系统后台的绑定任务仍在进行。您可以调用[DescribeHaVips](~~114611~~)查询HaVip的绑定状态:'."\n" + .' - 当HaVip处于**Associating**状态时,表示HaVip正在绑定中。'."\n" + .' - 当HaVip处于**InUse**状态时,表示HaVip绑定完成。'."\n" + .'- **AssociateHaVip**接口不支持并发绑定同一个HaVip。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteHaVip' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + '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' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的HaVip的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'havip-2zeo05qre24nhrqpy****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'HaVip can be deleted only when it is status is Available.', + ], + [ + 'errorCode' => 'DependencyViolation.HaVipReferedByRouteEntry', + 'errorMessage' => 'HaVip cannot be deleted when it is refered by a route table entry as next hop.', + ], + [ + 'errorCode' => 'DependencyViolation.HaVipAssociatedWithEIP', + 'errorMessage' => 'HaVip cannot be deleted when it is associated with EIP.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip?s status is invalid.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","errorExample":""},{"type":"xml","example":" \\r\\nC44F62BE-9CE7-4277-B117-69243F3988BF \\r\\n","errorExample":""}]', + 'title' => '删除高可用虚拟IP(HaVip)', + 'summary' => '调用DeleteHaVip接口删除高可用虚拟IP(HaVip)。', + 'description' => '在调用本接口删除HaVip时,请注意:'."\n" + ."\n" + .'- HaVip必须是available状态才可以删除。'."\n" + ."\n" + .'- 确保没有任何路由指向要删除的HaVip。'."\n" + ."\n" + .'- 确保要删除的HaVip没有绑定任何EIP。'."\n" + ."\n" + .'- **DeleteHaVip**接口属于异步接口,即系统会返回一个请求ID,但该HaVip尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeHaVips](~~114611~~)查询HaVip的删除状态:'."\n" + .' - 当HaVip处于**Deleting**状态时,表示HaVip正在删除中。'."\n" + .' - 当查询不到指定HaVip时,表示HaVip删除成功。'."\n" + .'- **DeleteHaVip**接口不支持并发删除同一个HaVip。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassociateHaVip' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符,且不能超过64个字符。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的HaVip的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'havip-2zeo05qre24nhrqpy****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '与HaVip解绑的ECS实例ID或弹性网卡实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-faf344422ffsfad****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制解绑与HaVip绑定的ECS实例或弹性网卡实例,取值:'."\n" + ."\n" + .'- **True**:强制解绑。'."\n" + ."\n" + .'- **False** (默认值):不强制解绑。'."\n" + ."\n" + .'> 如果该参数取值为**False**,无法解绑HaVip绑定的主实例。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'True', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑HaVip的实例类型,取值:'."\n" + ."\n" + .'- **EcsInstance**:云服务器ECS实例。'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡实例。'."\n" + ."\n" + .'> 当要解绑的实例为弹性网卡时,该参数必须填写。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsInstance', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is InUse.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'ECS instance can be operated by this action only when it\'s status is Running or Stopped.', + ], + [ + 'errorCode' => 'ResourceNotAssociated', + 'errorMessage' => 'The HaVip and ECS instance are not associated.', + ], + [ + 'errorCode' => 'Forbidden.UnassociateMaster', + 'errorMessage' => 'Unassociating a master instance is not allowed unless the parameter Force is True.', + ], + [ + 'errorCode' => 'HA.VIP.NOT.ASSOCIATED.WITH.INSTANCE', + 'errorMessage' => 'ha vip not associated with instance.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'OperationFailed.QueryNetworkInterfaceInfo', + 'errorMessage' => 'Failed to query network interface information.', + ], + [ + 'errorCode' => 'IllegalParam.InstanceType', + 'errorMessage' => 'The specified instance type is invalid. Only ECS instances and network interface are allowed.', + ], + [ + 'errorCode' => 'InvalidNetworkInterfaceId.NotFound', + 'errorMessage' => 'The network interface is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Instance', + 'errorMessage' => 'The specified binding resource is not found.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified Instance does not exist in the specified region.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C44F62BE-9CE7-4277-B117-69243F3988BF\\n","errorExample":""}]', + 'title' => '将HaVip与专有网络ECS实例解绑', + 'summary' => '调用UnassociateHaVip 接口将HaVip与专有网络ECS实例或弹性网卡解绑。', + 'description' => '在调用本接口将HaVip与专有网络ECS实例或弹性网卡解绑时,请注意: '."\n" + .'- 要解绑的ECS实例的状态必须为**运行中**或**停止**。 '."\n" + .'- 要解绑的HaVip状态必须为**Available**或**InUse**。'."\n" + .'- **UnassociateHaVip**接口属于异步接口,即系统会返回一个请求ID,但该HaVip尚未解绑成功,系统后台的解绑任务仍在进行。您可以调用[DescribeHaVips](~~114611~~)查询HaVip的解绑状态:'."\n" + .' - 当HaVip处于**Unassociating**状态时,表示HaVip正在解绑中。'."\n" + .' - 当HaVip处于**Inuse**或者**Available**状态时,表示HaVip解绑成功。'."\n" + .'- **UnassociateHaVip**接口不支持并发解绑同一个HaVip。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyHaVipAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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-0016e0****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的HaVip的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'havip-2zeo05qre24nhrqp****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip的描述。'."\n" + ."\n" + .'描述长度为1~255个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is my HaVip.', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'HaVip can be deleted only when it\'s status is Available or InUse.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + [ + 'errorCode' => 'Abs.Vpc.InvalidName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C44F62BE-9CE7-4277-B117-69243F3988BF\\n","errorExample":""}]', + 'title' => '修改HaVip的名称和描述', + 'summary' => '调用ModifyHaVipAttribute接口修改HaVip的名称和描述。', + 'description' => '**ModifyHaVipAttribute**不支持并发修改同一个HaVip的名称和描述。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeHaVips' => [ + 'summary' => '调用DescribeHaVips接口查询指定地域内的高可用虚拟IP(HaVip)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**。默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤条件详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤条件详细信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件,最多可支持5个过滤条件。**N**的取值范围为**1~5**。'."\n" + .'支持的过滤条件如下:'."\n" + ."\n" + .'- **VpcId**:专有网络ID。 '."\n" + ."\n" + .'- **VSwitchId**:交换机ID。 '."\n" + ."\n" + .'- **Status**:HaVip的状态。 '."\n" + ."\n" + .'- **HaVipId**:HaVip的ID。 '."\n" + ."\n" + .'- **HaVipAddress**:HaVip的IP地址。'."\n" + ."\n" + .'每个过滤条件(Filter Key)可以过滤多个值,每个值之间为“或”关系,只要有其中一个值符合则视为符合参数的过滤条件。'."\n" + ."\n" + .'各个过滤条件(Filter Key)之间为“与”关系,必须符合所有参数的过滤条件,才能被查询出来。', + 'type' => 'string', + 'required' => false, + 'example' => 'HaVipId', + ], + 'Value' => [ + 'description' => '指定的过滤条件对应的值。**N**的取值范围为**1~5**。', + 'type' => 'array', + 'items' => [ + 'description' => '根据过滤条件指定过滤值。一个过滤条件支持指定多个过滤值,每个过滤值之间是“或”的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + 'required' => false, + 'example' => 'havip-bp19o63nequs01i8d****', + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 6, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HaVip所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '每页包含的条目数。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '33E480C5-B46F-4CA5-B6FD-D77C746E86AB', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'HaVips' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HaVip' => [ + 'description' => 'HaVip的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'HaVip的详细信息。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'HaVip所属的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp1kcm36tevkpms97****', + ], + 'Status' => [ + 'description' => 'HaVip的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'HaVipId' => [ + 'description' => 'HaVip的ID。', + 'type' => 'string', + 'example' => 'havip-bp149uyvut73dpld****', + ], + 'AssociatedInstanceType' => [ + 'description' => '与HaVip绑定的实例类型。取值:'."\n" + ."\n" + .'- **EcsInstance**:云服务器ECS实例。'."\n" + .'- **NetworkInterface**:弹性网卡实例。', + 'type' => 'string', + 'example' => 'EcsInstance', + ], + 'CreateTime' => [ + 'description' => 'HaVip的创建时间。', + 'type' => 'string', + 'example' => '2021-07-03T14:25:26Z', + ], + 'ChargeType' => [ + 'description' => '该参数为无效参数,返回值为空。', + 'type' => 'string', + 'example' => 'none', + ], + 'RegionId' => [ + 'description' => 'HaVip所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'VSwitchId' => [ + 'description' => 'HaVip所属的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp1pkt1fba8e824ez****', + ], + 'IpAddress' => [ + 'description' => 'HaVip的私网IP地址。', + 'type' => 'string', + 'example' => '192.168.24.5', + ], + 'Description' => [ + 'description' => 'HaVip的描述。', + 'type' => 'string', + 'example' => 'My HaVip', + ], + 'MasterInstanceId' => [ + 'description' => '与HaVip绑定的主实例ID。', + 'type' => 'string', + 'example' => 'i-bp145q7glnuzdvz****', + ], + 'Name' => [ + 'description' => 'HaVip的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'AssociatedEipAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'associatedEipAddresse' => [ + 'description' => '与HaVip绑定的EIP列表。', + 'type' => 'array', + 'items' => [ + 'description' => '与HaVip绑定的EIP。', + 'type' => 'string', + 'example' => '121.12.XX.XX', + ], + ], + ], + ], + 'AssociatedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'associatedInstance' => [ + 'description' => '与HaVip绑定的实例信息。', + 'type' => 'array', + 'items' => [ + 'description' => '与HaVip绑定的实例ID。', + 'type' => 'string', + 'example' => 'i-bp145q7glnuzdvzu21****', + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => 'HaVip所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"33E480C5-B46F-4CA5-B6FD-D77C746E86AB\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"HaVips\\": {\\n \\"HaVip\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1kcm36tevkpms97****\\",\\n \\"Status\\": \\"Available\\",\\n \\"HaVipId\\": \\"havip-bp149uyvut73dpld****\\",\\n \\"AssociatedInstanceType\\": \\"EcsInstance\\",\\n \\"CreateTime\\": \\"2021-07-03T14:25:26Z\\",\\n \\"ChargeType\\": \\"none\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VSwitchId\\": \\"vsw-bp1pkt1fba8e824ez****\\",\\n \\"IpAddress\\": \\"192.168.24.5\\",\\n \\"Description\\": \\"My HaVip\\",\\n \\"MasterInstanceId\\": \\"i-bp145q7glnuzdvz****\\",\\n \\"Name\\": \\"test\\",\\n \\"AssociatedEipAddresses\\": {\\n \\"associatedEipAddresse\\": [\\n \\"121.12.XX.XX\\"\\n ]\\n },\\n \\"AssociatedInstances\\": {\\n \\"associatedInstance\\": [\\n \\"i-bp145q7glnuzdvzu21****\\"\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 33E480C5-B46F-4CA5-B6FD-D77C746E86AB\\n 1\\n 1\\n \\n vpc-bp1kcm36tevkpms97****\\n Available\\n havip-bp149uyvut73dpld****\\n EcsInstance\\n 2021-07-03T14:25:26Z\\n none\\n cn-hangzhou\\n vsw-bp1pkt1fba8e824ez****\\n 192.168.24.5\\n My HaVip\\n i-bp145q7glnuzdvz****\\n test\\n 121.12.XX.XX\\n i-bp145q7glnuzdvzu21****\\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询地域内的高可用虚拟IP(HaVip)', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTrafficMirrorFilterRules' => [ + 'summary' => '调用CreateTrafficMirrorFilterRules接口创建流量镜像入方向或出方向规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorFilterId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建入方向或出方向规则。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建入方向或出方向规则。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IngressRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '入方向规则的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '入方向规则的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => '入方向规则的采集策略,取值:'."\n" + ."\n" + .'- **accept**:采集网络流量。'."\n" + .'- **drop**:不采集网络流量。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'accept', + ], + 'SourceCidrBlock' => [ + 'description' => '入方向规则网络流量的源地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'Protocol' => [ + 'description' => '入方向需要镜像的网络流量使用的协议类型,取值:'."\n" + ."\n" + .'- **ALL**:所有协议。'."\n" + .'- **ICMP**:网络控制报文协议。'."\n" + .'- **TCP**:传输控制协议。'."\n" + .'- **UDP**:用户数据报协议。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'TCP', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**: IPv4版本。'."\n" + .'- **IPv6**: IPv6版本。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'IPv4', + ], + 'DestinationPortRange' => [ + 'description' => '入方向规则网络流量的目的端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**。'."\n" + ."\n" + .'> 当**IngressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需设置,表示不限制端口。', + 'type' => 'string', + 'required' => false, + 'example' => '80/120', + ], + 'Priority' => [ + 'description' => '入方向规则的优先级。数字越小,优先级越高。其中**N**最大取值为**10**,即一个筛选条件最多可配置10条入方向规则。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'DestinationCidrBlock' => [ + 'description' => '入方向规则网络流量的目的地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'SourcePortRange' => [ + 'description' => '入方向规则网络流量的源端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**,其中**-1/-1**不能单独设置,代表不限制端口。'."\n" + ."\n" + .'> 当**IngressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需设置,表示不限制端口。', + 'type' => 'string', + 'required' => false, + 'example' => '80/120', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'EgressRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '出方向规则的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '出方向规则的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => '出方向规则的采集策略,取值:'."\n" + ."\n" + .'- **accept**:采集网络流量。'."\n" + .'- **drop**:不采集网络流量。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'accept', + ], + 'SourceCidrBlock' => [ + 'description' => '出方向规则网络流量的源地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'Protocol' => [ + 'description' => '出方向需要镜像的网络流量使用的协议类型,取值:'."\n" + ."\n" + .'- **ALL**:所有协议。'."\n" + .'- **ICMP**:网络控制报文协议。'."\n" + .'- **TCP**:传输控制协议。'."\n" + .'- **UDP**:用户数据报协议。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TCP', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**: IPv4版本。'."\n" + .'- **IPv6**: IPv6版本。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'IPv4', + ], + 'DestinationPortRange' => [ + 'description' => '出方向规则网络流量的目的端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**,其中**-1/-1**不能单独设置,代表不限制端口。'."\n" + ."\n" + .'> 当**EgressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需设置,表示不限制端口。', + 'type' => 'string', + 'required' => false, + 'example' => '22/40', + ], + 'Priority' => [ + 'description' => '出方向规则的优先级。数字越小,优先级越高。其中**N**最大取值为**10**,即一个筛选条件最多可配置10条出方向规则。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'DestinationCidrBlock' => [ + 'description' => '出方向规则网络流量的目的地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'SourcePortRange' => [ + 'description' => '出方向规则网络流量的源端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**,其中**-1/-1**不能单独设置,代表不限制端口。'."\n" + ."\n" + .'> 当**EgressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需设置,表示不限制端口。', + 'type' => 'string', + 'required' => false, + 'example' => '22/40', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像的所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '详细信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '07F272E2-6AD5-433A-8207-A607C76F1676', + ], + 'IngressRules' => [ + 'description' => '入方向规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '入方向规则列表。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '入方向规则的实例ID。', + 'type' => 'string', + 'example' => 'tmr-j6c6rtallo51ouzv3****', + ], + ], + ], + ], + 'EgressRules' => [ + 'description' => '出方向规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '出方向规则列表。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '出方向规则的实例ID。', + 'type' => 'string', + 'example' => 'tmr-j6cok23ugp53eeib5****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorFilter', + 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorFilter', + 'errorMessage' => 'The status of traffic mirror filter is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorSession', + 'errorMessage' => 'The status of traffic mirror session is incorrect.', + ], + [ + 'errorCode' => 'QuotaExceeded.TrafficMirrorRulesPerFilter', + 'errorMessage' => 'The quota of the number of traffic mirror rules per filter is exceeded.', + ], + [ + 'errorCode' => 'DuplicatedParam.Priority', + 'errorMessage' => 'The specified priority conflicts with the existing priority.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The specified CidrBlock is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.SourceCidrBlock', + 'errorMessage' => 'The param of SourceCidrBlock %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.DestinationCidrBlock', + 'errorMessage' => 'The param of DestinationCidrBlock %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Protocol', + 'errorMessage' => 'The specified Protocol %s is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"07F272E2-6AD5-433A-8207-A607C76F1676\\",\\n \\"IngressRules\\": [\\n {\\n \\"InstanceId\\": \\"tmr-j6c6rtallo51ouzv3****\\"\\n }\\n ],\\n \\"EgressRules\\": [\\n {\\n \\"InstanceId\\": \\"tmr-j6cok23ugp53eeib5****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 07F272E2-6AD5-433A-8207-A607C76F1676\\n \\n tmr-j6c6rtallo51ouzv3****\\n \\n \\n tmr-j6cok23ugp53eeib5****\\n \\n","errorExample":""}]', + 'title' => '创建流量镜像入方向或出方向规则', + 'description' => '- **CreateTrafficMirrorFilterRules**接口属于异步接口,即系统返回一个实例ID,但该流量镜像入方向或出方向规则尚未创建成功,系统后台的创建任务仍在进行。您可以调用[ListTrafficMirrorFilters](~~261353~~)查询流量镜像入方向或出方向规则的创建状态:'."\n" + .' - 当流量镜像入方向或出方向规则处于**Creating**状态时,表示流量镜像入方向或出方向规则正在创建中。'."\n" + .' - 当流量镜像入方向或出方向规则处于**Created**状态时,表示流量镜像入方向或出方向规则创建完成。'."\n" + .'- **CreateTrafficMirrorFilterRules**接口不支持在同一个流量镜像筛选条件下并发创建流量镜像入方向或出方向规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTrafficMirrorFilterRules' => [ + 'summary' => '调用DeleteTrafficMirrorFilterRules删除流量镜像筛选条件的入方向或者出方向规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorFilterId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除入方向或出方向规则。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除入方向或出方向规则。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMirrorFilterRuleIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '入方向或出方向规则的实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '入方向或出方向规则的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tmr-j6cbmubn323k7jlq3****', + ], + 'required' => true, + 'example' => 'tmr-j6cbmubn323k7jlq3****', + 'maxLength' => 128, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像的所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'BD8A3F71-00C5-4655-8F55-11F3976C3274', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorRule', + 'errorMessage' => 'The specified resource of traffic mirror rule is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorRule', + 'errorMessage' => 'The status of traffic mirror rule is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorFilter', + 'errorMessage' => 'The status of traffic mirror filter is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorFilter', + 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorSession', + 'errorMessage' => 'The status of traffic mirror session is incorrect.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListTrafficMirrorFilters', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD8A3F71-00C5-4655-8F55-11F3976C3274\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nBD8A3F71-00C5-4655-8F55-11F3976C3274\\r\\n","errorExample":""}]', + 'title' => '删除流量镜像筛选条件的入方向或者出方向规则', + 'description' => '- **DeleteTrafficMirrorFilterRules**接口属于异步接口,即系统返回一个请求ID,但该流量镜像筛选条件的入方向或者出方向规则尚未删除成功,系统后台的删除任务仍在进行。您可以调用[ListTrafficMirrorFilters](~~261353~~)查询流量镜像筛选条件的入方向或者出方向规则的删除状态:'."\n" + .' - 当流量镜像筛选条件的入方向或者出方向规则处于**Deleting**状态时,表示流量镜像筛选条件的入方向或者出方向规则正在删除中。'."\n" + .' - 当查询不到指定的流量镜像筛选条件的入方向或者出方向规则时,表示流量镜像筛选条件的入方向或者出方向规则删除成功。'."\n" + .'- **DeleteTrafficMirrorFilterRules**接口不支持并发删除同一个流量镜像筛选条件的入方向或者出方向规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTrafficMirrorFilterRuleAttribute' => [ + 'summary' => '调用UpdateTrafficMirrorFilterRuleAttribute接口修改流量镜像入方向或出方向规则的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorFilterRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像入方向或出方向规则的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tmr-j6c89rzmtd3hhdugq****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改入方向和出方向规则的配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接修改入方向和出方向规则的配置信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的入方向或出方向规则的优先级。数字越小,优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的入方向或出方向规则需要镜像的网络流量使用的协议类型,取值:'."\n" + ."\n" + .'- **ALL**:所有协议。'."\n" + ."\n" + .'- **ICMP**:网络控制报文协议。'."\n" + ."\n" + .'- **TCP**:传输控制协议。'."\n" + ."\n" + .'- **UDP**:用户数据报协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'ICMP', + ], + ], + [ + 'name' => 'RuleAction', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的入方向或出方向规则的采集策略,取值:'."\n" + ."\n" + .'- **accept**:采集网络流量。'."\n" + ."\n" + .'- **drop**:不采集网络流量。', + 'type' => 'string', + 'required' => false, + 'example' => 'accept', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的入方向或出方向规则网络流量的目的地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'SourceCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的入方向或出方向规则网络流量的源地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '0.0.0.0/0', + ], + ], + [ + 'name' => 'DestinationPortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的入方向或出方向规则网络流量的目的端口范围。'."\n" + ."\n" + .'> 当**Protocol**取值为**ICMP**时,不支持修改端口范围。', + 'type' => 'string', + 'required' => false, + 'example' => '-1/-1', + ], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的入方向或出方向规则网络流量的源端口范围。'."\n" + .'> 当**Protocol**取值为**ICMP**时,不支持修改端口范围。', + 'type' => 'string', + 'required' => false, + 'example' => '22/40', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像的所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '02EB8585-D4DC-4E29-A0F4-7C588C82863C', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorRule', + 'errorMessage' => 'The specified resource of traffic mirror rule is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorRule', + 'errorMessage' => 'The status of traffic mirror rule is incorrect.', + ], + [ + 'errorCode' => 'DuplicatedParam.Priority', + 'errorMessage' => 'The specified priority conflicts with the existing priority.', + ], + [ + 'errorCode' => 'IllegalParam.Protocol', + 'errorMessage' => 'The specified Protocol is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.SourceCidrBlock', + 'errorMessage' => 'The param of SourceCidrBlock is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.DestinationCidrBlock', + 'errorMessage' => 'The param of DestinationCidrBlock is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"02EB8585-D4DC-4E29-A0F4-7C588C82863C\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 02EB8585-D4DC-4E29-A0F4-7C588C82863C\\n","errorExample":""}]', + 'title' => '修改流量镜像入方向或出方向规则的配置信息', + 'description' => '- **UpdateTrafficMirrorFilterRuleAttribute**接口属于异步接口,即系统返回一个请求ID,但该流量镜像入方向或出方向规则的配置信息尚未修改成功,系统后台的修改任务仍在进行。您可以调用[ListTrafficMirrorFilters](~~261353~~)查询流量镜像入方向或出方向规则的状态:'."\n" + .' - 当流量镜像入方向或出方向规则的状态处于**Modifying**状态时,表示流量镜像入方向或出方向规则的配置信息正在修改中。'."\n" + .' - 当流量镜像入方向或出方向规则的状态处于**Created**状态时,表示流量镜像入方向或出方向规则的配置信息修改成功。'."\n" + .'- **UpdateTrafficMirrorFilterRuleAttribute**接口不支持并发修改同一个流量镜像入方向或出方向规则的配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTrafficMirrorFilter' => [ + 'summary' => '调用CreateTrafficMirrorFilter接口创建流量镜像筛选条件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorFilterDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'this is a filter.', + ], + ], + [ + 'name' => 'TrafficMirrorFilterName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建流量镜像筛选条件。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接创建筛选条件。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IngressRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '入方向规则信息。', + 'type' => 'array', + 'items' => [ + 'description' => '入方向规则信息。', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => '入方向规则的采集策略。取值:'."\n" + ."\n" + .'- **accept**:采集网络流量。'."\n" + .'- **drop**:不采集网络流量。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'accept', + ], + 'SourceCidrBlock' => [ + 'description' => '入方向规则网络流量的源地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'Protocol' => [ + 'description' => '入方向需要镜像的网络流量使用的协议类型。取值:'."\n" + ."\n" + .'- **ALL**:所有协议。'."\n" + .'- **ICMP**:网络控制报文协议。'."\n" + .'- **TCP**:传输控制协议。'."\n" + .'- **UDP**:用户数据报协议。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TCP', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**:IPv4版本。'."\n" + .'- **IPv6**:IPv6版本。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'IPv4', + ], + 'DestinationPortRange' => [ + 'description' => '入方向规则网络流量的目的端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**。'."\n" + ."\n" + .'> 当**IngressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需设置,表示不限制端口。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80/120', + ], + 'Priority' => [ + 'description' => '入方向规则的优先级。数字越小,优先级越高。'."\n" + .'其中**N**最大取值为**10**,即一个筛选条件最多可配置10条入方向规则。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'DestinationCidrBlock' => [ + 'description' => '入方向规则网络流量的目的地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'SourcePortRange' => [ + 'description' => '入方向规则网络流量的源端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**。'."\n" + ."\n" + .'> 当**IngressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需配置,表示不限制端口。', + 'type' => 'string', + 'required' => false, + 'example' => '80/120', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'EgressRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '出方向规则的信息。', + 'type' => 'array', + 'items' => [ + 'description' => '出方向规则的信息。', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => '出方向规则的采集策略。取值:'."\n" + ."\n" + .'- **accept**:采集网络流量。'."\n" + .'- **drop**:不采集网络流量。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'accept', + ], + 'SourceCidrBlock' => [ + 'description' => '出方向规则网络流量的源地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'Protocol' => [ + 'description' => '出方向需要镜像的网络流量使用的协议类型。取值:'."\n" + ."\n" + .'- **ALL**:所有协议。'."\n" + .'- **ICMP**:网络控制报文协议。'."\n" + .'- **TCP**:传输控制协议。'."\n" + .'- **UDP**:用户数据报协议。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TCP', + ], + 'IpVersion' => [ + 'description' => '实例的IP协议版本。取值:'."\n" + ."\n" + .'- **IPv4**: IPv4版本。'."\n" + .'- **IPv6**: IPv6版本。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'IPv4', + ], + 'DestinationPortRange' => [ + 'description' => '出方向规则网络流量的目的端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**,其中**-1/-1**不能单独设置,代表不限制端口。'."\n" + ."\n" + .'> 当**EgressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需配置,表示不限制端口。', + 'type' => 'string', + 'required' => false, + 'example' => '22/40', + ], + 'Priority' => [ + 'description' => '出方向规则的优先级。数字越小,优先级越高。'."\n" + .'其中**N**最大取值为**10**,即一个筛选条件最多可配置10条出方向规则。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'DestinationCidrBlock' => [ + 'description' => '出方向规则网络流量的目的地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + 'SourcePortRange' => [ + 'description' => '出方向规则网络流量的源端口范围。端口范围为**1**~**65535**,使用正斜线(/)隔开起始端口和终止端口,格式为**1/200**、**80/80**,其中**-1/-1**不能单独设置,代表不限制端口。'."\n" + ."\n" + .'> 当**EgressRules.N.Protocol**取值为**ALL**或**ICMP**时,该参数无需配置,表示不限制端口。', + 'type' => 'string', + 'required' => false, + 'example' => '22/40', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像的所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'object', + 'properties' => [ + 'TrafficMirrorFilterId' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '28DB147D-217B-43E8-9E94-A3F6837DDC8A', + ], + 'ResourceGroupId' => [ + 'description' => '流量镜像所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedFeature.IpVersion', + 'errorMessage' => 'The ipversion type is not supported.', + ], + [ + 'errorCode' => 'IncorrectBusinessStatus.TrafficMirror', + 'errorMessage' => 'The business status of traffic mirror is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.TrafficMirror', + 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', + ], + [ + 'errorCode' => 'QuotaExceeded.TrafficMirrorFilter', + 'errorMessage' => 'The maximum number of traffic image filters is exceeded.', + ], + [ + 'errorCode' => 'DuplicatedParam.Priority', + 'errorMessage' => 'The specified priority conflicts with the existing priority.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'IllegalParamFormat.SrcCidrBlock', + 'errorMessage' => 'The format of the specified source CIDR block is invalid.', + ], + [ + 'errorCode' => 'IllegalParamFormat.DstCidrBlock', + 'errorMessage' => 'The format of the specified dst CIDR block is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.DestinationCidrBlock', + 'errorMessage' => 'The param of DestinationCidrBlock %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.SourceCidrBlock', + 'errorMessage' => 'The param of SourceCidrBlock %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Protocol', + 'errorMessage' => 'The specified Protocol %s is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TrafficMirrorFilterId\\": \\"tmf-j6cmls82xnc86vtpe****\\",\\n \\"RequestId\\": \\"28DB147D-217B-43E8-9E94-A3F6837DDC8A\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n tmf-j6cmls82xnc86vtpe****\\n 28DB147D-217B-43E8-9E94-A3F6837DDC8A\\n rg-bp67acfmxazb4ph****\\n","errorExample":""}]', + 'title' => '创建流量镜像筛选条件', + 'description' => '**CreateTrafficMirrorFilter**接口属于异步接口,即系统返回一个实例ID,但该流量镜像筛选条件尚未创建成功,系统后台的创建任务仍在进行。您可以调用[ListTrafficMirrorFilters](~~261353~~)查询流量镜像筛选条件的创建状态:'."\n" + .'- 当流量镜像筛选条件处于**Creating**状态时,表示流量镜像筛选条件正在创建中。'."\n" + .'- 当流量镜像筛选条件处于**Created**状态时,表示流量镜像筛选条件创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTrafficMirrorFilter' => [ + 'summary' => '调用DeleteTrafficMirrorFilter接口删除流量镜像筛选条件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorFilterId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除流量镜像筛选条件。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除流量镜像筛选条件。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像的所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '07F272E2-6AD5-433A-8207-A607C76F1676', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorFilter', + 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorFilter', + 'errorMessage' => 'The status of traffic mirror filter is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorRule', + 'errorMessage' => 'The status of traffic mirror rule is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.TrafficMirrorSession', + 'errorMessage' => 'Some traffic mirror sessions depend on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListTrafficMirrorFilters', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"07F272E2-6AD5-433A-8207-A607C76F1676\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n07F272E2-6AD5-433A-8207-A607C76F1676\\r\\n","errorExample":""}]', + 'title' => '删除流量镜像筛选条件', + 'description' => '- **DeleteTrafficMirrorFilter**接口属于异步接口,即系统返回一个请求ID,但该流量镜像筛选条件尚未删除成功,系统后台的删除任务仍在进行。您可以调用[ListTrafficMirrorFilters](~~261353~~)查询流量镜像筛选条件的删除状态:'."\n" + .' - 当流量镜像筛选条件处于**Deleting**状态时,表示流量镜像筛选条件正在删除中。'."\n" + .' - 当查询不到指定的流量镜像筛选条件时,表示流量镜像筛选条件删除成功。'."\n" + .'- **DeleteTrafficMirrorFilter**接口不支持并发删除同一个流量镜像筛选条件。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTrafficMirrorFilterAttribute' => [ + 'summary' => '调用UpdateTrafficMirrorFilterAttribute接口修改流量镜像筛选条件的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorFilterId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + ], + [ + 'name' => 'TrafficMirrorFilterDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的流量镜像筛选条件的描述。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a new filter.', + ], + ], + [ + 'name' => 'TrafficMirrorFilterName', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的流量镜像筛选条件的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改流量镜像筛选条件的配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接修改筛选条件的配置信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像的所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5816D35F-94D5-48CE-838F-2327C8EE8D49', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorFilter', + 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorFilter', + 'errorMessage' => 'The status of traffic mirror filter is incorrect.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5816D35F-94D5-48CE-838F-2327C8EE8D49\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5816D35F-94D5-48CE-838F-2327C8EE8D49\\n","errorExample":""}]', + 'title' => '修改流量镜像筛选条件的配置信息', + 'description' => '**UpdateTrafficMirrorFilterAttribute**接口不支持并发修改同一个流量镜像的筛选条件的配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTrafficMirrorFilters' => [ + 'summary' => '查询流量镜像的筛选条件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorFilterName', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '本次查询的最大记录条数。'."\n" + ."\n" + .'取值范围:**1**~**100**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'TrafficMirrorFilterIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。其中**N**最大取值为**100**,即一次支持查询最多100条筛选条件。', + 'type' => 'array', + 'items' => [ + 'description' => '流量镜像筛选条件的实例ID。其中**N**最大取值为**100**,即一次支持查询最多100条筛选条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + 'required' => false, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + 'maxLength' => 128, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像的所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '739CA01C-92EB-4C69-BCC0-280149C6F41E', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'string', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '当前请求要查询的最大数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Count' => [ + 'description' => '本次查询返回的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'TrafficMirrorFilters' => [ + 'description' => '流量镜像筛选条件的详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '流量镜像筛选条件的详情列表。', + 'type' => 'object', + 'properties' => [ + 'TrafficMirrorFilterStatus' => [ + 'description' => '流量镜像筛选条件的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Created**:已创建。'."\n" + ."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'TrafficMirrorFilterDescription' => [ + 'description' => '流量镜像筛选条件的描述信息。', + 'type' => 'string', + 'example' => 'This is a filter.', + ], + 'TrafficMirrorFilterId' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + 'TrafficMirrorFilterName' => [ + 'description' => '流量镜像筛选条件的名称。', + 'type' => 'string', + 'example' => 'abc', + ], + 'IngressRules' => [ + 'description' => '入方向规则详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '入方向规则详情列表。', + 'type' => 'object', + 'properties' => [ + 'TrafficMirrorFilterRuleStatus' => [ + 'description' => '人方向规则的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Created**:已创建。'."\n" + ."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'Action' => [ + 'description' => '入方向规则的采集策略,取值:'."\n" + ."\n" + .'- **accept**:采集网络流量。'."\n" + .'- **drop**:不采集网络流量。', + 'type' => 'string', + 'example' => 'accept', + ], + 'SourceCidrBlock' => [ + 'description' => '入方向规则网络流量的源地址网段。', + 'type' => 'string', + 'example' => '0.0.0.0/0', + ], + 'TrafficDirection' => [ + 'description' => '网络流量的方向,取值:'."\n" + ."\n" + .'- **egress**:出方向。'."\n" + ."\n" + .'- **ingress**:入方向。', + 'type' => 'string', + 'example' => 'ingress', + ], + 'Protocol' => [ + 'description' => '入方向需要镜像的网络流量使用的协议类型,取值:'."\n" + ."\n" + .'- **ALL**:所有协议。'."\n" + .'- **ICMP**:网络控制报文协议。'."\n" + .'- **TCP**:传输控制协议。'."\n" + .'- **UDP**:用户数据报协议。', + 'type' => 'string', + 'example' => 'ALL', + ], + 'IpVersion' => [ + 'description' => 'IP版本', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'DestinationPortRange' => [ + 'description' => '入方向规则网络流量的目的端口范围。', + 'type' => 'string', + 'example' => '-1/-1', + ], + 'TrafficMirrorFilterRuleId' => [ + 'description' => '入方向规则的实例ID。', + 'type' => 'string', + 'example' => 'tmr-j6cezu8e68rnpepet****', + ], + 'DestinationCidrBlock' => [ + 'description' => '入方向规则网络流量的目的地址网段。', + 'type' => 'string', + 'example' => '0.0.0.0/0', + ], + 'Priority' => [ + 'description' => '入方向规则的优先级。数字越小,优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TrafficMirrorFilterId' => [ + 'description' => '入方向规则关联的流量镜像筛选条件实例ID。', + 'type' => 'string', + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + 'SourcePortRange' => [ + 'description' => '入方向规则网络流量的目的端口范围。', + 'type' => 'string', + 'example' => '-1/-1', + ], + ], + ], + ], + 'EgressRules' => [ + 'description' => '出方向规则详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '出方向规则详情列表。', + 'type' => 'object', + 'properties' => [ + 'TrafficMirrorFilterRuleStatus' => [ + 'description' => '出方向规则的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Created**:已创建。'."\n" + ."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'Action' => [ + 'description' => '出方向规则的采集策略,取值:'."\n" + ."\n" + .'- **accept**:采集网络流量。'."\n" + .'- **drop**:不采集网络流量。', + 'type' => 'string', + 'example' => 'accept', + ], + 'SourceCidrBlock' => [ + 'description' => '出方向规则网络流量的源地址网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'TrafficDirection' => [ + 'description' => '网络流量的方向,取值:'."\n" + ."\n" + .'- **egress**:出方向。'."\n" + ."\n" + .'- **ingress**:入方向。', + 'type' => 'string', + 'example' => 'egress', + ], + 'Protocol' => [ + 'description' => '出方向需要镜像的网络流量使用的协议类型,取值:'."\n" + ."\n" + .'- **ALL**:所有协议。'."\n" + .'- **ICMP**:网络控制报文协议。'."\n" + .'- **TCP**:传输控制协议。'."\n" + .'- **UDP**:用户数据报协议。', + 'type' => 'string', + 'example' => 'TCP', + ], + 'IpVersion' => [ + 'description' => 'IP版本', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'DestinationPortRange' => [ + 'description' => '出方向规则网络流量的目的端口范围。', + 'type' => 'string', + 'example' => '22/40', + ], + 'TrafficMirrorFilterRuleId' => [ + 'description' => '出方向规则的实例ID。', + 'type' => 'string', + 'example' => 'tmr-j6c89rzmtd3hhdugq****', + ], + 'DestinationCidrBlock' => [ + 'description' => '出方向规则网络流量的目的地址网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'Priority' => [ + 'description' => '出方向规则的优先级。数字越小,优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TrafficMirrorFilterId' => [ + 'description' => '出方向规则关联的流量镜像筛选条件实例ID。', + 'type' => 'string', + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + 'SourcePortRange' => [ + 'description' => '出方向规则网络流量的源端口范围。', + 'type' => 'string', + 'example' => '22/40', + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => '流量镜像所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + 'CreationTime' => [ + 'description' => '流量镜像筛选条件的创建时间。', + 'type' => 'string', + 'example' => '2023-09-05T15:26Z', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"739CA01C-92EB-4C69-BCC0-280149C6F41E\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"MaxResults\\": 20,\\n \\"Count\\": 5,\\n \\"TrafficMirrorFilters\\": [\\n {\\n \\"TrafficMirrorFilterStatus\\": \\"Created\\",\\n \\"TrafficMirrorFilterDescription\\": \\"This is a filter.\\",\\n \\"TrafficMirrorFilterId\\": \\"tmf-j6cmls82xnc86vtpe****\\",\\n \\"TrafficMirrorFilterName\\": \\"abc\\",\\n \\"IngressRules\\": [\\n {\\n \\"TrafficMirrorFilterRuleStatus\\": \\"Created\\",\\n \\"Action\\": \\"accept\\",\\n \\"SourceCidrBlock\\": \\"0.0.0.0/0\\",\\n \\"TrafficDirection\\": \\"ingress\\",\\n \\"Protocol\\": \\"ALL\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"DestinationPortRange\\": \\"-1/-1\\",\\n \\"TrafficMirrorFilterRuleId\\": \\"tmr-j6cezu8e68rnpepet****\\",\\n \\"DestinationCidrBlock\\": \\"0.0.0.0/0\\",\\n \\"Priority\\": 1,\\n \\"TrafficMirrorFilterId\\": \\"tmf-j6cmls82xnc86vtpe****\\",\\n \\"SourcePortRange\\": \\"-1/-1\\"\\n }\\n ],\\n \\"EgressRules\\": [\\n {\\n \\"TrafficMirrorFilterRuleStatus\\": \\"Created\\",\\n \\"Action\\": \\"accept\\",\\n \\"SourceCidrBlock\\": \\"10.0.0.0/24\\",\\n \\"TrafficDirection\\": \\"egress\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"DestinationPortRange\\": \\"22/40\\",\\n \\"TrafficMirrorFilterRuleId\\": \\"tmr-j6c89rzmtd3hhdugq****\\",\\n \\"DestinationCidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Priority\\": 1,\\n \\"TrafficMirrorFilterId\\": \\"tmf-j6cmls82xnc86vtpe****\\",\\n \\"SourcePortRange\\": \\"22/40\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"CreationTime\\": \\"2023-09-05T15:26Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 739CA01C-92EB-4C69-BCC0-280149C6F41E\\n 1\\n 20\\n 5\\n \\n Created\\n This is a filter.\\n tmf-j6cmls82xnc86vtpe****\\n abc\\n \\n Created\\n accept\\n 0.0.0.0/0\\n ingress\\n ALL\\n -1/-1\\n tmr-j6cezu8e68rnpepet****\\n 0.0.0.0/0\\n 1\\n tmf-j6cmls82xnc86vtpe****\\n -1/-1\\n \\n \\n Created\\n accept\\n 10.0.0.0/24\\n egress\\n TCP\\n 22/40\\n tmr-j6c89rzmtd3hhdugq****\\n 10.0.0.0/24\\n 1\\n tmf-j6cmls82xnc86vtpe****\\n 22/40\\n \\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n 2023-09-05T15:26Z\\n \\n","errorExample":""}]', + 'title' => '查询流量镜像的筛选条件', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AddSourcesToTrafficMirrorSession' => [ + 'summary' => '调用AddSourcesToTrafficMirrorSession接口为镜像会话增加镜像源。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会添加镜像源。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接添加镜像源。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMirrorSessionId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要增加镜像源的镜像会话实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tms-j6cla50buc44ap8tu****', + ], + ], + [ + 'name' => 'TrafficMirrorSourceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '需要增加的镜像源的实例ID,目前支持弹性网卡作为镜像源。其中**N**的默认值为**1**,即一个镜像会话只支持添加一个镜像源。', + 'type' => 'array', + 'items' => [ + 'description' => '需要增加的镜像源的实例ID,目前支持弹性网卡作为镜像源。其中**N**的默认值为**1**,即一个镜像会话只支持添加一个镜像源。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-j6c8znm5l1yt4sox****', + ], + 'required' => true, + 'docRequired' => true, + 'example' => 'eni-j6ccmrl8z3xkvxgw****', + 'maxLength' => 128, + 'maxItems' => 30, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n" + ."\n" + .'关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '87F70089-5B38-41A8-BAD8-0B55E2F8DC57', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectBusinessStatus.TrafficMirror', + 'errorMessage' => 'The business status of traffic mirror is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.TrafficMirror', + 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', + ], + [ + 'errorCode' => 'DuplicatedParam.SourceInstanceIds', + 'errorMessage' => 'The parameter of source instance IDs contains duplicate values.', + ], + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorSession', + 'errorMessage' => 'The specified resource of traffic mirror session is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorSession', + 'errorMessage' => 'The status of traffic mirror session is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.TrafficMirrorSource', + 'errorMessage' => 'The specified traffic mirror source and session are already associated.', + ], + [ + 'errorCode' => 'ResourceNotFound.NetworkInterface', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.EcsInstance', + 'errorMessage' => 'The specified resource of ECS instance is not found.', + ], + [ + 'errorCode' => 'OperationDenied.EcsNotSupportTrafficMirror', + 'errorMessage' => 'The ECS instance does not support traffic mirroring.', + ], + [ + 'errorCode' => 'OperationDenied.DuplicateRole', + 'errorMessage' => 'The network interface must not be the source and the target of traffic mirror sessions at the same time.', + ], + [ + 'errorCode' => 'QuotaExceeded.NetworkInterfaceRelatedSession', + 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one network interface is exceeded.', + ], + [ + 'errorCode' => 'OperationDenied.FreeNetworkInterface', + 'errorMessage' => 'The network interface is not attached to any ECS instance.', + ], + [ + 'errorCode' => 'QuotaExceeded.SourceNumPerSession', + 'errorMessage' => 'The quota of the number of traffic mirror sources per session is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.SourceNumPerTarget', + 'errorMessage' => 'The maximum number of traffic mirror sources for a target is exceeded.', + ], + [ + 'errorCode' => 'OperationUnsupported.BondingNetworkInterface', + 'errorMessage' => 'The specified traffic mirror source is bonding eni without slave.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedTargetType', + 'errorMessage' => 'Traffic mirror target must be SLB if traffic mirror sources contain nat gateway network interface.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidSourceBondEniType', + 'errorMessage' => 'The traffic mirroring source does not support the entered bond ENI type.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"87F70089-5B38-41A8-BAD8-0B55E2F8DC57\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 87F70089-5B38-41A8-BAD8-0B55E2F8DC57\\n","errorExample":""}]', + 'title' => '为镜像会话增加镜像源', + 'description' => '- **AddSourcesToTrafficMirrorSession**接口属于异步接口,即系统返回一个请求ID,但该镜像源尚未增加成功,系统后台的增加任务仍在进行。您可以调用[ListTrafficMirrorSessions](~~261367~~)查询镜像源的增加状态:'."\n" + .' - 当镜像会话处于**Modifying**状态时,表示镜像源正在增加中。'."\n" + .' - 当镜像会话处于**Created**状态时,表示镜像源增加成功。'."\n" + .'- **AddSourcesToTrafficMirrorSession**接口不支持并发为同一个镜像会话增加镜像源。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateTrafficMirrorSession' => [ + 'summary' => '调用CreateTrafficMirrorSession创建镜像会话。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorSessionDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a trafficmirrorsession.', + ], + ], + [ + 'name' => 'TrafficMirrorSessionName', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建镜像会话。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建镜像会话。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMirrorTargetId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像目的的实例ID,目前支持弹性网卡和私网负载均衡实例作为镜像目的。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eni-j6c8znm5l1yt4sox****', + ], + ], + [ + 'name' => 'TrafficMirrorTargetType', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像目的类型,取值:'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + ."\n" + .'- **SLB**:私网负载均衡实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'NetworkInterface', + ], + ], + [ + 'name' => 'TrafficMirrorFilterId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + ], + [ + 'name' => 'VirtualNetworkId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定VNI(VXLAN Network Identifier),用来区分不同的镜像流量,取值范围为**0**~**16777215**。'."\n" + ."\n" + .'您可以通过VNI在镜像目的区分不同会话的镜像流量。您可以自定义VNI的值,也可以由系统随机分配该值。如果由系统随机分配该值,请不传该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的优先级,取值范围为**1**~**32766**。'."\n" + .'数字越小,优先级越高。同一账号在同一个地域创建的镜像会话优先级不能重复。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'maximum' => '32766', + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启流量会话,取值:'."\n" + ."\n" + .'- **false**(默认值):不开启流量会话。'."\n" + ."\n" + .'- **true**:开启流量会话。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PacketLength', + 'in' => 'query', + 'schema' => [ + 'description' => '指定被镜像的原始报文长度(不包含VXLAN报文长度),默认值**1500**,取值范围:**64**~**8500**,单位:字节。'."\n" + .'- 该参数的大小会影响镜像目的收到的报文长度,详情请参见[流量镜像概述](~~207513~~)中的镜像报文长度和MTU限制。'."\n" + ."\n" + .'- 该参数仅在部分地域可用,详情请参见[创建和管理流量镜像](~~207514~~)中的镜像报文长度参数描述。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1500', + ], + ], + [ + 'name' => 'TrafficMirrorSourceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '镜像源的实例ID,目前支持弹性网卡作为镜像源。其中**N**的默认值为**1**,即一个镜像会话只支持添加一个镜像源。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像源的实例ID,目前支持弹性网卡作为镜像源。其中**N**的默认值为**1**,即一个镜像会话只支持添加一个镜像源。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-j6c2fp57q8rr47rp****', + ], + 'required' => true, + 'docRequired' => true, + 'example' => 'eni-j6c2fp57q8rr47rp****', + 'maxLength' => 128, + 'maxItems' => 30, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '镜像会话的实例ID。', + 'type' => 'object', + 'properties' => [ + 'TrafficMirrorSessionId' => [ + 'description' => '镜像会话的实例ID。', + 'type' => 'string', + 'example' => 'tms-j6ce5di4w7nvigfjz****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'ResourceGroupId' => [ + 'description' => '流量镜像所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectBusinessStatus.TrafficMirror', + 'errorMessage' => 'The business status of traffic mirror is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.TrafficMirror', + 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', + ], + [ + 'errorCode' => 'DuplicatedParam.SourceInstanceIds', + 'errorMessage' => 'The parameter of source instance IDs contains duplicate values.', + ], + [ + 'errorCode' => 'OperationDenied.DuplicateRole', + 'errorMessage' => 'The network interface must not be the source and the target of traffic mirror sessions at the same time.', + ], + [ + 'errorCode' => 'ResourceNotFound.NetworkInterface', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.EcsInstance', + 'errorMessage' => 'The specified resource of ECS instance is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Slb', + 'errorMessage' => 'The specified resource of SLB is not found.', + ], + [ + 'errorCode' => 'OperationDenied.SlbNotInVpc', + 'errorMessage' => 'The specified SLB is not in any VPC.', + ], + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorFilter', + 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorFilter', + 'errorMessage' => 'The status of traffic mirror filter is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.EcsNotSupportTrafficMirror', + 'errorMessage' => 'The ECS instance does not support traffic mirroring.', + ], + [ + 'errorCode' => 'QuotaExceeded.SessionNum', + 'errorMessage' => 'The quota of the number of traffic mirror sessions is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.FilterRelatedSession', + 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one filter is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.SourceNumPerSession', + 'errorMessage' => 'The quota of the number of traffic mirror sources per session is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.NetworkInterfaceRelatedSession', + 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one network interface is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.SlbRelatedSession', + 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one SLB is exceeded.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'InvalidLoadBalancerId.NotFound', + 'errorMessage' => 'The specified resource of load balancer is not found.', + ], + [ + 'errorCode' => 'OperationDenied.FreeNetworkInterface', + 'errorMessage' => 'The network interface is not attached to any ECS instance.', + ], + [ + 'errorCode' => 'OperationDenied.ClassicSLB', + 'errorMessage' => 'The operation is not allowed because of ClassicSLB.', + ], + [ + 'errorCode' => 'ResourceNotFound.TargetInstance', + 'errorMessage' => 'The specified target instance for traffic mirroring is not found.', + ], + [ + 'errorCode' => 'QuotaExceeded.SourceNumPerTarget', + 'errorMessage' => 'The maximum number of traffic mirror sources for a target is exceeded.', + ], + [ + 'errorCode' => 'IncorrectStatus.NetworkInterface', + 'errorMessage' => 'The status of network interface is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.NotSupportBizType', + 'errorMessage' => 'The specified instance type does not support the operation.', + ], + [ + 'errorCode' => 'IllegalParam.Priority', + 'errorMessage' => 'The specified Priority is illegal or the same as other mirroring sessions.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedTargetType', + 'errorMessage' => 'Traffic mirror target must be SLB if traffic mirror sources contain nat gateway network interface.', + ], + [ + 'errorCode' => 'OperationDenied.TargetTypeNotSupportGatewayLoadBalancerEndpoint', + 'errorMessage' => 'Operation denied because of target type can not be GatewayLoadBalancerEndpoint.', + ], + [ + 'errorCode' => 'OperationDenied.TargetTypeNotSupportBondEni', + 'errorMessage' => 'Operation denied because of target type can not be Bond Network Interface.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidTargetBondEniType', + 'errorMessage' => 'The traffic mirroring target does not support the entered bond ENI type.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidSourceBondEniType', + 'errorMessage' => 'The traffic mirroring source does not support the entered bond ENI type.', + ], + [ + 'errorCode' => 'OperationDenied.TargetTypeNotSupportTrafficMirrorFullPacket', + 'errorMessage' => 'The traffic mirror session target type does not support the feature of mirroring source full packet.', + ], + [ + 'errorCode' => 'OperationDenied.TrafficMirrorSessionSourceFullPacketNotSupport', + 'errorMessage' => 'The traffic mirror session does not support the feature of mirroring source full packet.', + ], + [ + 'errorCode' => 'QuotaExceeded.SessionNumPerTarget', + 'errorMessage' => 'The quota of the number of traffic mirror sessions per target is exceeded.', + ], + [ + 'errorCode' => 'OperationDenied.NotSupportBondEniAsTrafficMirrorSource', + 'errorMessage' => 'The operation is not allowed because bond eni cannot be the source of traffic mirror.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorSessionTarget', + 'errorMessage' => 'The status of the target of the traffic mirror session is incorrect.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TrafficMirrorSessionId\\": \\"tms-j6ce5di4w7nvigfjz****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n tms-j6ce5di4w7nvigfjz****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n rg-bp67acfmxazb4ph****\\n","errorExample":""}]', + 'title' => '创建流量镜像会话', + 'description' => '**CreateTrafficMirrorSession**接口属于异步接口,即系统返回一个实例ID,但该镜像会话尚未创建成功,系统后台的创建任务仍在进行。您可以调用[ListTrafficMirrorSessions](~~261367~~)查询镜像会话的创建状态:'."\n" + .'- 当镜像会话处于**Creating**状态时,表示镜像会话正在创建中。'."\n" + .'- 当镜像会话处于**Created**状态时,表示镜像会话创建完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteTrafficMirrorSession' => [ + 'summary' => '删除镜像会话。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除镜像会话。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除镜像会话。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMirrorSessionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tms-j6cla50buc44ap8tu****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorSession', + 'errorMessage' => 'The specified resource of traffic mirror session is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorSession', + 'errorMessage' => 'The status of traffic mirror session is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorFilter', + 'errorMessage' => 'The status of traffic mirror filter is incorrect.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\r\\n","errorExample":""}]', + 'title' => '删除流量镜像会话', + 'description' => '- **DeleteTrafficMirrorSession**接口属于异步接口,即系统返回一个请求ID,但该镜像会话尚未删除成功,系统后台的删除任务仍在进行。您可以调用[ListTrafficMirrorSessions](~~261367~~)查询镜像会话的删除状态:'."\n" + .' - 当镜像会话处于**Deleting**状态时,表示镜像会话正在删除中。'."\n" + .' - 当查询不到指定的镜像会话时,表示镜像会话删除成功。'."\n" + .'- **DeleteTrafficMirrorSession**接口不支持并发删除同一个镜像会话。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateTrafficMirrorSessionAttribute' => [ + 'summary' => '修改镜像会话的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorSessionDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的镜像会话描述。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a new session.', + ], + ], + [ + 'name' => 'TrafficMirrorSessionName', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的镜像会话名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改镜像会话的配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接修改镜像会话的配置信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMirrorSessionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的镜像会话的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tms-j6cla50buc44ap8tu****', + ], + ], + [ + 'name' => 'TrafficMirrorTargetId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的镜像目的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-j6c2fp57q8rr47rp*****', + ], + ], + [ + 'name' => 'TrafficMirrorTargetType', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的镜像目的类型,取值:'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + ."\n" + .'- **SLB**:私网负载均衡实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'NetworkInterface', + ], + ], + [ + 'name' => 'TrafficMirrorFilterId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + ], + [ + 'name' => 'VirtualNetworkId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的指定VNI,用来区分不同的镜像流量,取值范围为**0**~**16777215**。'."\n" + .'您可以通过VNI在镜像目的区分不同会话的镜像流量。您可以自定义VNI的值,也可以由系统随机分配该值。如果由系统随机分配,该参数无需配置。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的镜像会话的优先级,取值范围为**1**~**32766**。'."\n" + .'数字越小,优先级越高。同一账号在同一个地域创建的镜像会话优先级不能重复。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'PacketLength', + 'in' => 'query', + 'schema' => [ + 'description' => '指定被镜像的原始报文长度(不包含VXLAN报文长度),默认值**1500**,取值范围:**64**~**8500**,单位:字节。'."\n" + .'- 该参数的大小会影响镜像目的收到的报文长度,详情请参见[流量镜像概述](~~207513~~)中的镜像报文长度和MTU限制。'."\n" + ."\n" + .'- 该参数仅在部分地域可用,详情请参见[创建和管理流量镜像](~~207514~~)中的镜像报文长度参数描述。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1500', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启流量会话,取值:'."\n" + ."\n" + .'- **false**(默认值):不开启流量会话。'."\n" + ."\n" + .'- **true**:开启流量会话。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '64DCAF03-E2C7-479A-ACEA-38B79876B006', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectBusinessStatus.TrafficMirror', + 'errorMessage' => 'The business status of traffic mirror is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.TrafficMirror', + 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', + ], + [ + 'errorCode' => 'DuplicatedParam.Priority', + 'errorMessage' => 'The specified priority conflicts with the existing priority.', + ], + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorSession', + 'errorMessage' => 'The specified resource of traffic mirror session is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorSession', + 'errorMessage' => 'The status of traffic mirror session is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorFilter', + 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorFilter', + 'errorMessage' => 'The status of traffic mirror filter is incorrect.', + ], + [ + 'errorCode' => 'QuotaExceeded.FilterRelatedSession', + 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one filter is exceeded.', + ], + [ + 'errorCode' => 'ResourceNotFound.NetworkInterface', + 'errorMessage' => 'The specified resource of network interface is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.EcsInstance', + 'errorMessage' => 'The specified resource of ECS instance is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Slb', + 'errorMessage' => 'The specified resource of SLB is not found.', + ], + [ + 'errorCode' => 'OperationDenied.SlbNotInVpc', + 'errorMessage' => 'The specified SLB is not in any VPC.', + ], + [ + 'errorCode' => 'QuotaExceeded.NetworkInterfaceRelatedSession', + 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one network interface is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.SlbRelatedSession', + 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one SLB is exceeded.', + ], + [ + 'errorCode' => 'OperationDenied.EcsNotSupportTrafficMirror', + 'errorMessage' => 'The ECS instance does not support traffic mirroring.', + ], + [ + 'errorCode' => 'OperationDenied.DuplicateRole', + 'errorMessage' => 'The network interface must not be the source and the target of traffic mirror sessions at the same time.', + ], + [ + 'errorCode' => 'InvalidLoadBalancerId.NotFound', + 'errorMessage' => 'The specified resource of load balancer is not found.', + ], + [ + 'errorCode' => 'OperationDenied.FreeNetworkInterface', + 'errorMessage' => 'The network interface is not attached to any ECS instance.', + ], + [ + 'errorCode' => 'OperationDenied.ClassicSLB', + 'errorMessage' => 'The operation is not allowed because of ClassicSLB.', + ], + [ + 'errorCode' => 'QuotaExceeded.SourceNumPerTarget', + 'errorMessage' => 'The maximum number of traffic mirror sources for a target is exceeded.', + ], + [ + 'errorCode' => 'OperationFailed.NotSupportBizType', + 'errorMessage' => 'The specified instance type does not support the operation.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedTargetType', + 'errorMessage' => 'Traffic mirror target must be SLB if traffic mirror sources contain nat gateway network interface.', + ], + [ + 'errorCode' => 'OperationDenied.TargetTypeNotSupportBondEni', + 'errorMessage' => 'Operation denied because of target type can not be Bond Network Interface.', + ], + [ + 'errorCode' => 'OperationDenied.TargetTypeNotSupportGatewayLoadBalancerEndpoint', + 'errorMessage' => 'Operation denied because of target type can not be GatewayLoadBalancerEndpoint.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidTargetBondEniType', + 'errorMessage' => 'The traffic mirroring target does not support the entered bond ENI type.', + ], + [ + 'errorCode' => 'OperationDenied.TargetTypeNotSupportTrafficMirrorFullPacket', + 'errorMessage' => 'The traffic mirror session target type does not support the feature of mirroring source full packet.', + ], + [ + 'errorCode' => 'OperationDenied.TrafficMirrorSessionSourceFullPacketNotSupport', + 'errorMessage' => 'The traffic mirror session does not support the feature of mirroring source full packet.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationFailed.GetEniInfo', + 'errorMessage' => 'The back-end service failed to query the NIC information.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64DCAF03-E2C7-479A-ACEA-38B79876B006\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 64DCAF03-E2C7-479A-ACEA-38B79876B006\\n","errorExample":""}]', + 'title' => '修改流量镜像会话的配置信息', + 'description' => '- **UpdateTrafficMirrorSessionAttribute**接口属于异步接口,即系统返回一个请求ID,但该镜像会话的配置信息尚未修改成功,系统后台的修改任务仍在进行。您可以调用[ListTrafficMirrorSessions](~~261367~~)查询镜像会话的配置信息的修改状态:'."\n" + .' - 当镜像会话的配置信息处于**Modifying**状态时,表示镜像会话的配置信息正在修改中。'."\n" + .' - 当镜像会话的配置信息处于**Created**状态时,表示镜像会话的配置信息修改成功。'."\n" + .'- **UpdateTrafficMirrorSessionAttribute**接口不支持并发修改同一个镜像会话的配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTrafficMirrorSessions' => [ + 'summary' => '查询镜像会话的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'TrafficMirrorSessionName', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '本次查询的最大记录条数。取值范围:**1**~**100**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'TrafficMirrorSourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像源的实例ID,目前支持弹性网卡作为镜像源。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-j6c8znm5l1yt4sox*****', + ], + ], + [ + 'name' => 'TrafficMirrorTargetId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像目的的实例ID,目前支持弹性网卡和私网负载均衡实例作为镜像目的。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-j6c2fp57q8rr47rp****', + ], + ], + [ + 'name' => 'TrafficMirrorFilterId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + ], + [ + 'name' => 'VirtualNetworkId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定VNI,用来区分不同的镜像流量,取值范围为**0**~**16777215**。您可以通过VNI在镜像目的区分不同会话的镜像流量。您可以自定义VNI的值,也可以由系统随机分配该值。如果由系统随机分配该值,请不传该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的优先级,取值范围为**1**~**32766**。'."\n" + ."\n" + .'数字越小,优先级越高。同一账号在同一个地域创建的镜像会话优先级不能重复。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启流量会话,取值:'."\n" + ."\n" + .'- **false**(默认值):不开启流量会话。'."\n" + ."\n" + .'- **true**:开启流量会话。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMirrorSessionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '镜像会话的实例ID。其中**N**最大取值为**100**,即支持查询最多100个镜像会话。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像会话的实例ID。其中**N**最大取值为**100**,即支持查询最多100个镜像会话。', + 'type' => 'string', + 'required' => false, + 'example' => 'tms-j6cla50buc44ap8tu****', + ], + 'required' => false, + 'example' => 'tms-j6cla50buc44ap8tu****', + 'maxLength' => 128, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要查询的流量镜像所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '739CA01C-92EB-4C69-BCC0-280149C6F41E', + ], + 'TotalCount' => [ + 'description' => '返回结果总数。', + 'type' => 'string', + 'example' => '1', + ], + 'TrafficMirrorSessions' => [ + 'description' => '镜像会话的详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像会话的详情列表。', + 'type' => 'object', + 'properties' => [ + 'TrafficMirrorTargetId' => [ + 'description' => '镜像目的的实例ID。', + 'type' => 'string', + 'example' => 'eni-j6c2fp57q8rr47rp****', + ], + 'TrafficMirrorSessionId' => [ + 'description' => '镜像会话的实例ID。', + 'type' => 'string', + 'example' => 'tms-j6cla50buc44ap8tu****', + ], + 'Priority' => [ + 'description' => '镜像会话的优先级。'."\n" + ."\n" + .'数字越小,优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TrafficMirrorTargetType' => [ + 'description' => '镜像目的类型,取值:'."\n" + ."\n" + .'- **NetworkInterface**:弹性网卡。'."\n" + ."\n" + .'- **SLB**:私网负载均衡实例。', + 'type' => 'string', + 'example' => 'NetworkInterface', + ], + 'PacketLength' => [ + 'description' => '指定被镜像的原始报文长度(不包含VXLAN报文长度),默认值**1500**,取值范围:**64**~**8500**,单位:字节。'."\n" + .'- 该参数的大小会影响镜像目的收到的报文长度,详情请参见[流量镜像概述](~~207513~~)中的镜像报文长度和MTU限制。'."\n" + ."\n" + .'- 该参数仅在部分地域可用,详情请参见[创建和管理流量镜像](~~207514~~)中的镜像报文长度参数描述。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1500', + ], + 'TrafficMirrorSessionDescription' => [ + 'description' => '镜像会话的描述信息。', + 'type' => 'string', + 'example' => 'This is a session.', + ], + 'TrafficMirrorSessionStatus' => [ + 'description' => '镜像会话的状态,取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Created**:已创建。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'Enabled' => [ + 'description' => '是否已开启流量会话,取值:'."\n" + ."\n" + .'- **false**(默认值):不开启流量会话。'."\n" + ."\n" + .'- **true**:开启流量会话。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'TrafficMirrorSessionBusinessStatus' => [ + 'description' => '镜像会话的业务状态,取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'VirtualNetworkId' => [ + 'description' => '指定VNI,用来区分不同的镜像流量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TrafficMirrorFilterId' => [ + 'description' => '流量镜像筛选条件的实例ID。', + 'type' => 'string', + 'example' => 'tmf-j6cmls82xnc86vtpe****', + ], + 'TrafficMirrorSessionName' => [ + 'description' => '镜像会话的名称。', + 'type' => 'string', + 'example' => 'abc', + ], + 'TrafficMirrorSourceIds' => [ + 'description' => '镜像源的实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像源的实例ID。', + 'type' => 'string', + 'example' => 'eni-j6c8znm5l1yt4sox****', + ], + ], + 'ResourceGroupId' => [ + 'description' => '流量镜像所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + 'CreationTime' => [ + 'description' => '镜像会话的创建时间。', + 'type' => 'string', + 'example' => '2023-09-05T15:26Z', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"739CA01C-92EB-4C69-BCC0-280149C6F41E\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"TrafficMirrorSessions\\": [\\n {\\n \\"TrafficMirrorTargetId\\": \\"eni-j6c2fp57q8rr47rp****\\",\\n \\"TrafficMirrorSessionId\\": \\"tms-j6cla50buc44ap8tu****\\",\\n \\"Priority\\": 1,\\n \\"TrafficMirrorTargetType\\": \\"NetworkInterface\\",\\n \\"PacketLength\\": 1500,\\n \\"TrafficMirrorSessionDescription\\": \\"This is a session.\\",\\n \\"TrafficMirrorSessionStatus\\": \\"Created\\",\\n \\"Enabled\\": false,\\n \\"TrafficMirrorSessionBusinessStatus\\": \\"Normal\\",\\n \\"VirtualNetworkId\\": 10,\\n \\"TrafficMirrorFilterId\\": \\"tmf-j6cmls82xnc86vtpe****\\",\\n \\"TrafficMirrorSessionName\\": \\"abc\\",\\n \\"TrafficMirrorSourceIds\\": [\\n \\"eni-j6c8znm5l1yt4sox****\\"\\n ],\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"CreationTime\\": \\"2023-09-05T15:26Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 739CA01C-92EB-4C69-BCC0-280149C6F41E\\n 1\\n \\n eni-j6c2fp57q8rr47rp****\\n tms-j6cla50buc44ap8tu****\\n 1\\n NetworkInterface\\n 1500\\n This is a session.\\n Created\\n false\\n Normal\\n 10\\n tmf-j6cmls82xnc86vtpe****\\n abc\\n eni-j6c8znm5l1yt4sox****\\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n 2023-09-05T15:26Z\\n \\n","errorExample":""}]', + 'title' => '查询镜像会话的详细信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RemoveSourcesFromTrafficMirrorSession' => [ + 'summary' => '调用RemoveSourcesFromTrafficMirrorSession接口删除镜像会话中的镜像源。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除镜像源。检查项包括是否填写了必需参数、请求格式和限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除镜像源。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TrafficMirrorSessionId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要删除镜像源的镜像会话实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'tms-j6cla50buc44ap8tu****', + ], + ], + [ + 'name' => 'TrafficMirrorSourceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '需要删除的镜像源的实例ID,其中**N**最大值为**10**。', + 'type' => 'array', + 'items' => [ + 'description' => '需要删除的镜像源的实例ID,其中**N**最大值为**10**。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-j6c8znm5l1yt4sox****', + ], + 'required' => true, + 'example' => 'eni-j6c8znm5l1yt4sox****', + 'maxLength' => 128, + 'maxItems' => 30, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像会话的所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。关于流量镜像支持的地域,请参见[流量镜像概述](~~207513~~)。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hongkong', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A33B2C6A-89D1-4DEA-A807-A6E8CC552484', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectBusinessStatus.TrafficMirror', + 'errorMessage' => 'The business status of traffic mirror is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.TrafficMirror', + 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', + ], + [ + 'errorCode' => 'DuplicatedParam.SourceInstanceIds', + 'errorMessage' => 'The parameter of source instance IDs contains duplicate values.', + ], + [ + 'errorCode' => 'ResourceNotFound.TrafficMirrorSession', + 'errorMessage' => 'The specified resource of traffic mirror session is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.TrafficMirrorSession', + 'errorMessage' => 'The status of traffic mirror session is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotAssociated.TrafficMirrorSource', + 'errorMessage' => 'The specified traffic mirror source and session are not associated.', + ], + [ + 'errorCode' => 'ResourceNotFound.NetworkInterface', + 'errorMessage' => 'The specified resource of network interface is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.EcsInstance', + 'errorMessage' => 'The specified resource of ECS instance is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListTrafficMirrorSessions', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A33B2C6A-89D1-4DEA-A807-A6E8CC552484\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nA33B2C6A-89D1-4DEA-A807-A6E8CC552484\\r\\n","errorExample":""}]', + 'title' => '删除镜像会话中的镜像源', + 'description' => '- **RemoveSourcesFromTrafficMirrorSession**接口属于异步接口,即系统返回一个请求ID,但该镜像源尚未删除成功,系统后台的删除任务仍在进行。您可以调用[ListTrafficMirrorSessions](~~261367~~)查询镜像会话的状态:'."\n" + .' - 当镜像会话处于**Modifying**状态时,表示镜像源正在删除中。'."\n" + .' - 当镜像会话处于**Created**状态时,表示镜像源删除成功。'."\n" + .'- **RemoveSourcesFromTrafficMirrorSession**接口不支持并发删除同一个镜像会话中的镜像源。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'OpenTrafficMirrorService' => [ + 'summary' => '开通流量镜像功能。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + [ + 'APP' => [], + ], + [ + 'PrivateKey' => [], + ], + [ + 'BearerToken' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => false, + 'notSupportAutoTestReason' => '服务开通接口,不可重入', + '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' => '123e4567-e89b-12d3-a456-426655442222', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4FCCF008-4C13-4231-BE77-D5203801A9E2', + ], + 'Code' => [ + 'description' => '状态码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '流量镜像开通成功返回的信息。', + 'type' => 'string', + 'example' => 'successful', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ExceedPurchaseLimit', + 'errorMessage' => 'You have reached the limit of purchase quantity.', + ], + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource', + ], + [ + 'errorCode' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity', + 'errorMessage' => 'Vpc_flowlog_public has no group cloud product label, and users within the group are not allowed to purchase.', + ], + [ + 'errorCode' => 'OperationFailed.QuotaNotEnough', + 'errorMessage' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', + ], + [ + 'errorCode' => 'Order.NoRealNameAuthentication', + 'errorMessage' => 'Real-name verification has not been completed for the account.', + ], + [ + 'errorCode' => 'OperationFailed.BasicInfoUncompleted', + 'errorMessage' => 'You have not completed your basic personal information, please complete the information and try again.', + ], + [ + 'errorCode' => 'OperationDenied.TrafficMirrorServiceOpened', + 'errorMessage' => 'The operation is not allowed because the traffic mirror service has been opened.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4FCCF008-4C13-4231-BE77-D5203801A9E2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4FCCF008-4C13-4231-BE77-D5203801A9E2\\n 200\\n successful\\n","errorExample":""}]', + 'title' => '开通流量镜像功能', + 'description' => '流量镜像功能是按照地域粒度开通,**OpenTrafficMirrorService**接口不支持在同一个地域内并发开通流量镜像功能。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetTrafficMirrorServiceStatus' => [ + 'summary' => '调用GetTrafficMirrorServiceStatus接口查询流量镜像功能的状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + '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-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '流量镜像所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '流量镜像功能是否开通,取值:'."\n" + ."\n" + .'- **true**:已开通。'."\n" + ."\n" + .'- **false**:未开通。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '37626066-2C6C-4B62-ADD3-498920C409C5', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Enabled\\": true,\\n \\"RequestId\\": \\"37626066-2C6C-4B62-ADD3-498920C409C5\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n 37626066-2C6C-4B62-ADD3-498920C409C5\\n","errorExample":""}]', + 'title' => '查询流量镜像功能的状态', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SwitchActiveRouteTarget' => [ + 'summary' => '路由目标组主备切换。', + 'description' => '路由目标组主备切换', + 'path' => '/', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RouteTargetGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'rtg-xxxx', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '资源标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.RouteTargetGroup', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTargetGroup', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.SwitchToAbnormalMember', + 'errorMessage' => 'The operation is not allowed because of the inability to switch the RouteTargetMember when the disabled member is in an unhealthy state.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C1221A1F-2ACD-4592-8F27-474E02883159\\"\\n}","type":"json"}]', + 'title' => '路由目标组主备切换', + ], + 'UpdateRouteTargetGroup' => [ + 'summary' => '更新路由目标组实例信息,包括名称、描述、未使能的成员。', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RouteTargetGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'rtg-xxx', + ], + ], + [ + 'name' => 'RouteTargetGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'myRouteTargetGroupName', + ], + ], + [ + 'name' => 'RouteTargetGroupDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组的描述信息。 '."\n" + ."\n" + .'描述长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'myRouteTargetGroupDescription', + ], + ], + [ + 'name' => 'RouteTargetMemberList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由目标组的成员列表。'."\n" + ."\n" + .'主备模式下,对路由目标组成员有如下限制:'."\n" + ."\n" + .'1. 路由目标组成员数量必须为2'."\n" + .'2. 路由目标组成员必须属于不同可用区', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MemberId' => [ + 'description' => '路由目标组成员实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ep-xxxx', + ], + 'MemberType' => [ + 'description' => '路由目标组的成员类型。'."\n" + ."\n" + .'当前支持的类型:'."\n" + ."\n" + .'- **GatewayLoadBalancerEndpoint**'."\n" + ."\n" + .'主备模式下,路由目标组所有成员的类型必须相同。', + 'type' => 'string', + 'required' => false, + 'example' => 'GatewayLoadBalancerEndpoint', + ], + 'Weight' => [ + 'description' => '路由目标组成员的权重值。取值:'."\n" + ."\n" + .'- 100:表示成员为主实例。'."\n" + .'- 0:表示成员为备实例。'."\n" + ."\n" + .'权重值仅支持在创建时设置,不支持修改。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组实例所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.RouteTargetGroup', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTargetGroup', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Mismatch.GroupVpcIdAndInstanceVpcId', + 'errorMessage' => 'The RouteTargetGroup VPC %s and the RouteTargetConfig VPC %s are mismatched.', + ], + [ + 'errorCode' => 'OperationDenied.UpdateMemberType', + 'errorMessage' => 'The operation is not allowed because of the inability to update memberType.', + ], + [ + 'errorCode' => 'OperationDenied.MemberWithSameAz', + 'errorMessage' => 'The operation is not allowed because of all members being in the same availability zone.', + ], + [ + 'errorCode' => 'OperationDenied.UpdateEnableRouteTargetMember', + 'errorMessage' => 'The operation is not allowed because of the inability to update the RouteTargetMember when it is in the enabled state.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC\\"\\n}","type":"json"}]', + 'title' => '更新路由目标组', + 'description' => '- **UpdateRouteTargetGroup**接口属于异步接口,即系统会返回一个请求ID,但该路由目标组尚未更新完成,系统后台的更新任务仍在进行。您可以调用ListRouteTargetGroup查询路由目标组的更新状态:'."\n" + .' - 当路由目标组处于**Updating**状态时,表示路由目标组创建中。'."\n" + .' - 当路由目标组处于**Available**、**Unavailable**、**Switched**、**Abnormal**状态时,表示路由目标组更新完成。', + ], + 'ListRouteTargetGroups' => [ + 'summary' => '查询路由目标组列表。', + 'path' => '', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组所属的VPC的ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'vpc-xxxx', + ], + ], + [ + 'name' => 'RouteTargetGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由目标组实例ID列表。'."\n" + ."\n" + .'单次查询最多支持传入50个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '路由目标组实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rtg-xxxx', + ], + 'required' => false, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'MemberId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组成员实例ID。'."\n" + .'筛选成员包含传入成员实例ID的路由目标组。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'ep-xxxx', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页大小,取值范围:**1**~**50**,默认值:**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:第一次查询和没有下一次查询时,均无需填写。如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组所属的VPC的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。关于资源组的更多信息,请参见什么是资源组。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazdjdhd****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:如果NextToken为空表示没有下一次查询。如果NextToken有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RouteTargetGroups' => [ + 'description' => '路由目标组列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '路由目标组的状态。取值:'."\n" + ."\n" + .'- **Recovering**:主备回切中'."\n" + .'- **Switched**:主备已切换'."\n" + .'- **Available**:可用'."\n" + .'- **Abnormal**:备实例异常'."\n" + .'- **Pending**:创建中'."\n" + .'- **Switching**:主备切换中'."\n" + .'- **Deleting**:删除中'."\n" + .'- **Unavailable**:主备实例均异常', + 'type' => 'string', + 'enumValueTitles' => [ + 'Recovering' => '主备回切中', + 'Switched' => '主备已切换', + 'Available' => '可用', + 'Abnormal' => '备实例异常', + 'Pending' => '创建中', + 'Switching' => '主备切换中', + 'Deleting' => '删除中', + 'Unavailable' => '主备实例均异常', + ], + 'example' => 'Available', + ], + 'RouteTargetGroupDescription' => [ + 'description' => '路由目标组描述信息。', + 'type' => 'string', + 'example' => 'myRouteTargetGroupDescription', + ], + 'RouteTargetMemberList' => [ + 'description' => '路由目标组的成员列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由目标组的成员列表。', + 'type' => 'object', + 'properties' => [ + 'MemberId' => [ + 'description' => '路由目标组成员实例ID。', + 'type' => 'string', + 'example' => 'ep-xxxx', + ], + 'EnableStatus' => [ + 'description' => '路由目标组成员使能状态。取值:'."\n" + ."\n" + .'- **Enable**:使能中。'."\n" + .'- **Disable**:未使能。'."\n" + ."\n" + .'只有未使能状态的路由目标组成员允许被修改为其他实例。使能中的路由目标组成员禁止修改。', + 'type' => 'string', + 'enumValueTitles' => [ + 'Enable' => 'Enable', + 'Disable' => 'Disable', + ], + 'example' => 'Enable', + ], + 'MemberType' => [ + 'description' => '路由目标组的成员类型。'."\n" + ."\n" + .'当前支持的类型:'."\n" + ."\n" + .'- **GatewayLoadBalancerEndpoint**', + 'type' => 'string', + 'enumValueTitles' => [ + 'GatewayLoadBalancerEndpoint' => '网关型负载均衡终端节点', + ], + 'example' => 'GatewayLoadBalancerEndpoint', + ], + 'HealthCheckStatus' => [ + 'description' => '路由目标组成员健康检查状态。取值:'."\n" + ."\n" + .'- **Normal**:正常'."\n" + .'- **Abnormal**:状态异常', + 'type' => 'string', + 'enumValueTitles' => [ + 'Normal' => 'Normal', + 'Abnormal' => 'Abnormal', + ], + 'example' => 'Normal', + ], + 'Weight' => [ + 'description' => '路由目标组成员的权重值。取值:'."\n" + ."\n" + .'- **100**:表示成员为主实例。'."\n" + .'- **0**:表示成员为备实例。'."\n" + ."\n" + .'权重值仅支持在创建时设置,不支持修改。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + ], + ], + ], + 'VpcId' => [ + 'description' => '路由目标组所属VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-uf60y8uzhsvbhmuh3l654', + ], + 'RouteTargetGroupId' => [ + 'description' => '路由目标组的实例ID。', + 'type' => 'string', + 'example' => 'rtg-xxxx', + ], + 'ConfigMode' => [ + 'description' => '路由目标组的配置模式,支持模式如下:'."\n" + ."\n" + .'- **Active-Standby**: 主备模式。', + 'type' => 'string', + 'enumValueTitles' => [ + 'Active-Standby' => '主备模式', + ], + 'example' => 'Active-Standby', + ], + 'RegionId' => [ + 'description' => '路由目标组所属的VPC的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Tags' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => '8', + ], + 'Key' => [ + 'description' => '资源的标签键。', + 'type' => 'string', + 'example' => 'image/upload/cbbec42e0be33abb27babefcbe0397f0', + ], + ], + ], + ], + 'RouteTargetGroupName' => [ + 'description' => '路由目标组名称信息。', + 'type' => 'string', + 'example' => 'myRouteTargetGroupName', + ], + 'ResourceGroupId' => [ + 'description' => '路由目标组所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfm3swh6ta56ri', + ], + 'CreateTime' => [ + 'description' => '创建路由目标组的时间。', + 'type' => 'string', + 'example' => '2025-12-30T06:40:50Z', + ], + ], + ], + ], + 'MaxResults' => [ + 'description' => '分页大小。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1,\\n \\"RouteTargetGroups\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"RouteTargetGroupDescription\\": \\"myRouteTargetGroupDescription\\",\\n \\"RouteTargetMemberList\\": [\\n {\\n \\"MemberId\\": \\"ep-xxxx\\",\\n \\"EnableStatus\\": \\"Enable\\",\\n \\"MemberType\\": \\"GatewayLoadBalancerEndpoint\\",\\n \\"HealthCheckStatus\\": \\"Normal\\",\\n \\"Weight\\": 100\\n }\\n ],\\n \\"VpcId\\": \\"vpc-uf60y8uzhsvbhmuh3l654\\",\\n \\"RouteTargetGroupId\\": \\"rtg-xxxx\\",\\n \\"ConfigMode\\": \\"Active-Standby\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Tags\\": [\\n {\\n \\"Value\\": \\"8\\",\\n \\"Key\\": \\"image/upload/cbbec42e0be33abb27babefcbe0397f0\\"\\n }\\n ],\\n \\"RouteTargetGroupName\\": \\"myRouteTargetGroupName\\",\\n \\"ResourceGroupId\\": \\"rg-acfm3swh6ta56ri\\",\\n \\"CreateTime\\": \\"2025-12-30T06:40:50Z\\"\\n }\\n ],\\n \\"MaxResults\\": 50\\n}","type":"json"}]', + 'title' => '查询路由目标组列表', + 'description' => '查询路由目标组列表。', + ], + 'GetRouteTargetGroup' => [ + 'summary' => '获取路由目标组实例信息。', + 'description' => '获取路由目标组实例信息。', + 'path' => '/', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RouteTargetGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组成员实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'rtg-xxxx', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组所属地域的ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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-0016e04115b', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签集合。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RouteTargetGroupId' => [ + 'description' => '路由目标组实例ID。', + 'type' => 'string', + 'example' => 'rtg-xxxx', + ], + 'RouteTargetGroupName' => [ + 'description' => '路由目标组名称。', + 'type' => 'string', + 'example' => 'myRouteTargetGroupName', + ], + 'RouteTargetGroupDescription' => [ + 'description' => '路由目标组描述。', + 'type' => 'string', + 'example' => 'myRouteTargetGroupDescription', + ], + 'VpcId' => [ + 'description' => '路由目标组所属的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-xxxx', + ], + 'ConfigMode' => [ + 'description' => '路由目标组的配置模式,支持模式如下:'."\n" + ."\n" + .'- **Active-Standby**: 主备模式。', + 'type' => 'string', + 'enumValueTitles' => [ + 'Active-Standby' => 'Active-Standby', + ], + 'example' => 'Active-Standby', + ], + 'Status' => [ + 'description' => '路由目标组的状态。取值:'."\n" + ."\n" + .'- **Recovering**:主备回切中'."\n" + .'- **Switched**:主备已切换'."\n" + .'- **Available**:可用'."\n" + .'- **Abnormal**:备实例异常'."\n" + .'- **Pending**:创建中'."\n" + .'- **Switching**:主备切换中'."\n" + .'- **Deleting**:删除中'."\n" + .'- **Unavailable**:主备实例均异常', + 'type' => 'string', + 'enumValueTitles' => [ + 'Recovering' => '主备回切中', + 'Switched' => '主备已切换', + 'Available' => '可用', + 'Abnormal' => '备实例异常', + 'Pending' => '创建中', + 'Switching' => '主备切换中', + 'Deleting' => '删除中', + 'Unavailable' => '主备实例均异常', + ], + 'example' => 'Available', + ], + 'RouteTargetMemberList' => [ + 'description' => '路由目标组的成员列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MemberId' => [ + 'description' => '路由目标组成员实例ID。', + 'type' => 'string', + 'example' => 'ep-xxxx', + ], + 'MemberType' => [ + 'description' => '路由目标组的成员类型。'."\n" + ."\n" + .'当前支持的类型:'."\n" + ."\n" + .'- **GatewayLoadBalancerEndpoint**', + 'type' => 'string', + 'enumValueTitles' => [ + 'GatewayLoadBalancerEndpoint' => '网关型负载均衡终端节点', + ], + 'example' => 'GatewayLoadBalancerEndpoint', + ], + 'Weight' => [ + 'description' => '路由目标组成员的权重值。取值:'."\n" + ."\n" + .'- **100**:表示成员为主实例。'."\n" + .'- **0**:表示成员为备实例。'."\n" + ."\n" + .'权重值仅支持在创建时设置,不支持修改。', + 'type' => 'integer', + 'format' => 'int32', + 'enumValueTitles' => [ + '0', + 100 => '100', + ], + 'example' => '100', + ], + 'HealthCheckStatus' => [ + 'description' => '路由目标组成员健康检查状态。取值:'."\n" + ."\n" + .'- **Normal**:正常'."\n" + .'- **Abnormal**:状态异常', + 'type' => 'string', + 'enumValueTitles' => [ + 'Normal' => 'Normal', + 'Abnormal' => 'Abnormal', + ], + 'example' => 'Normal', + ], + 'EnableStatus' => [ + 'description' => '路由目标组成员使能状态。取值:'."\n" + ."\n" + .'- **Enable**:使能中。'."\n" + .'- **Disable**:未使能。'."\n" + ."\n" + .'只有未使能状态的路由目标组成员允许被修改为其他实例。使能中的路由目标组成员禁止修改。', + 'type' => 'string', + 'enumValueTitles' => [ + 'Enable' => '使能中', + 'Disable' => '未使能', + ], + 'example' => 'Enable', + ], + ], + ], + ], + 'Tags' => [ + 'description' => '路由目标组的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + 'RegionId' => [ + 'description' => '路由目标组所属的VPC的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1AE05898-06E5-4782-xxxxx', + ], + 'ResourceGroupId' => [ + 'description' => '要查询的路由目标组所属资源组的ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazdjdhd****', + ], + 'CreateTime' => [ + 'description' => '创建路由目标组的时间。', + 'type' => 'string', + 'example' => '2025-12-30T06:40:50Z', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.RouteTargetGroup', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RouteTargetGroupId\\": \\"rtg-xxxx\\",\\n \\"RouteTargetGroupName\\": \\"myRouteTargetGroupName\\",\\n \\"RouteTargetGroupDescription\\": \\"myRouteTargetGroupDescription\\",\\n \\"VpcId\\": \\"vpc-xxxx\\",\\n \\"ConfigMode\\": \\"Active-Standby\\",\\n \\"Status\\": \\"Available\\",\\n \\"RouteTargetMemberList\\": [\\n {\\n \\"MemberId\\": \\"ep-xxxx\\",\\n \\"MemberType\\": \\"GatewayLoadBalancerEndpoint\\",\\n \\"Weight\\": 100,\\n \\"HealthCheckStatus\\": \\"Normal\\",\\n \\"EnableStatus\\": \\"Enable\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"RequestId\\": \\"1AE05898-06E5-4782-xxxxx\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazdjdhd****\\",\\n \\"CreateTime\\": \\"2025-12-30T06:40:50Z\\"\\n}","type":"json"}]', + 'title' => '查询路由目标组', + ], + 'DeleteRouteTargetGroup' => [ + 'summary' => '删除路由目标组实例。', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RouteTargetGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'rtg-xxxx', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的资源组所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.RouteTargetGroup', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTargetGroup', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteEntry', + 'errorMessage' => 'RouteEntry %s depends on the resource %s.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', + 'title' => '删除路由目标组', + 'description' => '- **DeleteRouteTargetGroup**接口属于异步接口,即系统会返回一个请求ID,但该路由目标组尚未删除成功,系统后台的删除任务仍在进行。您可以调用ListRouteTargetGroup查询路由目标组的删除状态:'."\n" + .' - 当路由目标组处于**Deleting**状态时,表示路由目标组正在删除中。'."\n" + .' - 当查询不到指定的路由目标组时,表示路由目标组删除成功。', + ], + 'CreateRouteTargetGroup' => [ + 'summary' => '创建路由目标组实例。', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组所属的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => false, + 'example' => 'vpc-xxxx', + ], + ], + [ + 'name' => 'RouteTargetGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'myRouteTargetGroupName', + ], + ], + [ + 'name' => 'RouteTargetGroupDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组的描述信息。'."\n" + .'描述长度为1~256个字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'myRouteTargetGroupDescription', + ], + ], + [ + 'name' => 'RouteTargetMemberList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由目标组的成员列表。'."\n" + ."\n" + .'主备模式下,对路由目标组成员有如下限制:'."\n" + ."\n" + .'1. 路由目标组成员数量必须为2'."\n" + .'2. 路由目标组成员必须属于不同可用区', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MemberId' => [ + 'description' => '路由目标组成员实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ep-xxxx', + ], + 'MemberType' => [ + 'description' => '路由目标组的成员类型。'."\n" + ."\n" + .'当前支持的类型:'."\n" + ."\n" + .'- **GatewayLoadBalancerEndpoint**'."\n" + ."\n" + .'主备模式下,路由目标组所有成员的类型必须相同。', + 'type' => 'string', + 'required' => true, + 'example' => 'GatewayLoadBalancerEndpoint', + ], + 'Weight' => [ + 'description' => '路由目标组成员的权重值。取值:'."\n" + ."\n" + .'- **100**:表示成员为主实例。'."\n" + .'- **0**:表示成员为备实例。'."\n" + ."\n" + .'权重值仅支持在创建时设置,不支持修改。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '100', + ], + ], + 'required' => true, + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'ConfigMode', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组的配置模式,支持模式如下:'."\n" + ."\n" + .'- **Active-Standby**: 主备模式。', + 'type' => 'string', + 'required' => true, + 'example' => 'Active-Standby', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由目标组所属的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazffggds****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '8AA5CE21-2E6A-4530-BDF5-F055849476E6', + ], + 'RouteTargetGroupId' => [ + 'description' => '路由目标组的实例ID。', + 'type' => 'string', + 'example' => 'rtg-xxxx', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedFeature.RouteTargetGroup', + 'errorMessage' => 'The feature of RouteTargetGroup is not supported.', + ], + [ + 'errorCode' => 'Mismatch.GroupVpcIdAndInstanceVpcId', + 'errorMessage' => 'The RouteTargetGroup VPC %s and the RouteTargetConfig VPC %s are mismatched.', + ], + [ + 'errorCode' => 'OperationDenied.MemberWithSameAz', + 'errorMessage' => 'The operation is not allowed because of all members being in the same availability zone.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', + 'errorMessage' => 'GatewayLoadBalancerEndpoint instance %s not found.', + ], + [ + 'errorCode' => 'QuotaExceeded.RouteTargetGroup', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8AA5CE21-2E6A-4530-BDF5-F055849476E6\\",\\n \\"RouteTargetGroupId\\": \\"rtg-xxxx\\"\\n}","type":"json"}]', + 'title' => '创建路由目标组', + 'description' => '- **CreateRouteTargetGroup**接口属于异步接口,即系统会返回一个实例ID,但该路由目标组实例尚未创建完成,系统后台的创建任务仍在进行。您可以调用**ListRouteTargetGroup**查询路由目标组的创建状态:'."\n" + .' - 当路由目标组处于**Pending**状态时,表示路由目标组创建中。'."\n" + .' - 当路由目标组处于**Available**、**Unavailable**、**Switched**、**Abnormal**状态时,表示路由目标组创建完成。'."\n" + ."\n" + .'- **主备模式**:创建路由目标组时,需配置位于不同可用区、类型一致的主备实例。'."\n" + ."\n" + .'- **主实例**:权重为100。正常情况下承载所有流量,在健康检查正常时生效。'."\n" + ."\n" + .'- **备实例**:权重为0。主实例故障后接管流量,作为容灾备份。', + ], + 'AllocateEipAddress' => [ + 'summary' => '申请弹性公网IP(Elastic IP Address,简称EIP)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性公网IP所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'enumValueTitles' => [ + 'cn-beijing' => 'cn-beijing', + ], + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'- 当**InstanceChargeType**取值为**PostPaid**,且**InternetChargeType**取值为**PayByBandwidth**时,**Bandwidth**取值范围为**1**~**500**。'."\n" + ."\n" + .'- 当**InstanceChargeType**取值为**PostPaid**,且**InternetChargeType**取值为**PayByTraffic**时,**Bandwidth**取值范围为**1**~**200**。'."\n" + ."\n" + .'- 当**InstanceChargeType**取值为**PrePaid**时,**Bandwidth**取值范围为**1**~**1000**。'."\n" + ."\n" + .'默认值:**5** Mbps。 ', + 'type' => 'string', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长。'."\n" + ."\n" + .'当**PricingCycle**取值**Month**时,**Period**取值范围为**1**~**9**。'."\n" + ."\n" + .'当**PricingCycle**取值**Year**时,**Period**取值范围为**1**~**5**。'."\n" + ."\n" + .'当**InstanceChargeType**参数的值为**PrePaid**时,该参数必选,当**InstanceChargeType**参数的值为**PostPaid**时,该参数不填。'."\n" + ."\n\n" + ."\n\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ISP', + 'in' => 'query', + 'schema' => [ + 'description' => '线路类型。取值:'."\n" + .'- **BGP**(默认值):BGP(多线)线路。目前全部地域都支持BGP(多线)线路EIP。'."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。目前仅中国香港、新加坡、日本(东京)、马来西亚(吉隆坡)、菲律宾(马尼拉)、印度尼西亚(雅加达)和泰国(曼谷)地域支持BGP(多线)\\_精品线路EIP。'."\n" + ."\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'- 如果您是单线带宽的白名单用户,您还可以选择以下类型:'."\n" + .' - **ChinaTelecom**:中国电信'."\n" + .' - **ChinaUnicom**:中国联通'."\n" + .' - **ChinaMobile**:中国移动'."\n" + .' - **ChinaTelecom_L2**:中国电信L2'."\n" + .' - **ChinaUnicom_L2**:中国联通L2'."\n" + .' - **ChinaMobile_L2**:中国移动L2'."\n" + .'- 如果您是杭州金融云用户,该字段必填,取值:**BGP_FinanceCloud**。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'ActivityId', + 'in' => 'query', + 'schema' => [ + 'description' => '特殊活动ID,无需配置此参数。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456', + ], + ], + [ + 'name' => 'Netmode', + 'in' => 'query', + 'schema' => [ + 'description' => '网络类型,仅取值为**public**(默认值),表示公网。', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动付费,取值:'."\n" + ."\n" + .'- **false**(默认值):不开启自动付费,生成订单后需要到订单中心完成支付。'."\n" + ."\n" + .'- **true**:开启自动付费,自动支付订单。'."\n" + ."\n" + .'当**InstanceChargeType**参数的值为**PrePaid**时,该参数必选;当**InstanceChargeType**参数的值为**PostPaid**时,该参数可不填。'."\n" + ."\n\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月的计费周期,取值:'."\n" + .'- **Month**(默认值):按月付费。'."\n" + .'- **Year**:按年付费。'."\n" + ."\n" + .'当**InstanceChargeType**参数的值为**PrePaid**时,该参数必选;当**InstanceChargeType**参数的值为**PostPaid**时,该参数可不填。'."\n" + ."\n\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的计费方式,取值:'."\n" + .' '."\n" + .'- **PrePaid**:包年包月。'."\n" + ."\n" + .'- **PostPaid**(默认值):按量计费。'."\n" + ."\n" + .'当**InstanceChargeType**取值为**PrePaid**时,**InternetChargeType**必须取值**PayByBandwidth**;当**InstanceChargeType**取值为**PostPaid**时,**InternetChargeType**可取值**PayByBandwidth**或**PayByTraffic**。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的计量方式,取值:'."\n" + ."\n" + .'- **PayByBandwidth**(默认值):按带宽计费。'."\n" + ."\n" + .'- **PayByTraffic**:按流量计费。'."\n" + ."\n" + .'当**InstanceChargeType**取值为**PrePaid**时,**InternetChargeType**必须取值**PayByBandwidth**。'."\n" + ."\n" + .'当**InstanceChargeType**取值为**PostPaid**时,**InternetChargeType**可取值**PayByBandwidth**或**PayByTraffic**。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + 'default' => 'PayByBandwidth', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazffggds****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP实例的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。'."\n" + ."\n" + .'> 创建预付费的EIP实例时,不支持设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'EIP1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP实例的描述。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。'."\n" + .'> 创建预付费的EIP实例时,不支持设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'SecurityProtectionTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。'."\n" + ."\n" + .'您最多只能设置1个安全防护级别。', + 'type' => 'array', + 'items' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'string', + 'required' => false, + 'example' => 'AntiDDoS_Enhanced', + ], + 'required' => false, + 'example' => 'AntiDDoS_Enhanced', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池ID。'."\n" + ."\n" + .'EIP将从该IP地址池中分配。'."\n" + ."\n" + .'IP地址池功能默认不开放。如需使用,请在配额中心申请IP地址池功能权益配额。具体操作,请参见[通过配额中心提升配额](~~108213~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'pippool-2vc0kxcedhquybdsz****', + ], + ], + [ + 'name' => 'Zone', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的可用区。'."\n" + ."\n" + .'当**PublicIpAddressPoolId**中指定的IP地址池为云盒业务类型时,该参数默认与IP地址池的可用区一致。'."\n" + ."\n" + .'如何查看IP地址池业务类型,请参见[ListPublicIpAddressPools](~~429098~~)', + 'type' => 'string', + 'required' => false, + 'example' => 'ap-southeast-1-lzdvn-cb', + ], + ], + [ + 'name' => 'IpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP的IP地址。'."\n" + ."\n" + .'**IpAddress**和**InstanceId**参数仅需传入一个,如果都不传,系统会随机申请EIP。', + 'type' => 'string', + 'required' => false, + 'example' => '192.0.XX.XX', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP的实例ID。'."\n" + ."\n" + .'**IpAddress**和**InstanceId**参数仅需传入一个,如果都不传,系统会随机申请EIP。', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-25877c70gddh****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。API调用时使用Tag.N.Value的形式,N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun或acs:开头,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'OrderId' => [ + 'description' => '订单ID。当InstanceChargeType(EIP的计费方式)取值为PrePaid(包年包月)时,返回该参数。如果AutoPay(自动付费)未打开,即未开启自动支付账单时,请前往[订单中心](https://usercenter2.aliyun.com/order/list)完成支付。'."\n" + .'当InstanceChargeType(EIP的计费方式)取值为PrePaid(包年包月)时,返回该参数。如果AutoPay(自动付费)未打开,即未开启自动支付账单时,请前往[订单中心](https://usercenter2-intl.aliyun.com/order/list)完成支付。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。仅**InstanceChargeType**取值为**PostPaid**时返回。', + 'type' => 'string', + 'example' => 'rg-acfmxazfdgdg****', + ], + 'EipAddress' => [ + 'description' => '分配的EIP。仅**InstanceChargeType**取值为**PostPaid**时返回。', + 'type' => 'string', + 'example' => '192.0.XX.XX', + ], + 'AllocationId' => [ + 'description' => 'EIP实例的ID。', + 'type' => 'string', + 'example' => 'eip-25877c70gddh****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'COMMODITY_NO_EXIST', + 'errorMessage' => 'commodity is not exist', + ], + [ + 'errorCode' => 'QuotaExceeded.Eip', + 'errorMessage' => 'Elastic IP address quota exceeded', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "InternetChargeType" is not valid', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ReserveIpFail', + 'errorMessage' => 'Reserve eip failed.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support.', + ], + [ + 'errorCode' => 'InvalidBandwidth.Malformed', + 'errorMessage' => 'The specified Bandwidth is invalid.', + ], + [ + 'errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'QueryParameter.Illegal', + 'errorMessage' => 'query parameter illegal', + ], + [ + 'errorCode' => 'TokenVerfiy.Failed', + 'errorMessage' => 'token verify failed.', + ], + [ + 'errorCode' => 'OrderFailed', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'QuotaExceeded.LargeSpecEip', + 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'SYSTEM.SALE_VALIDATE_UNEXPECTED_ERROR', + 'errorMessage' => 'You have arrears and do not meet the purchase conditions.', + ], + [ + 'errorCode' => 'Trade_Sync_Create_Sub_ERROR', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'InvalidComponent.EipBandwidthMax', + 'errorMessage' => 'The eip_bandwidth_max component is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.RiskControl', + 'errorMessage' => 'Risk control check failed.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + [ + 'errorCode' => 'IllegalParam.OrderParamComponent', + 'errorMessage' => 'Product order param has invalid component.', + ], + [ + 'errorCode' => 'OperationFailed.SaleExpression', + 'errorMessage' => 'Get the sales expression exception attached to the item.', + ], + [ + 'errorCode' => 'OperationFailed.CompleteUserInfo', + 'errorMessage' => 'Complete user info failed.', + ], + [ + 'errorCode' => 'OperationFailed.QueryPrice', + 'errorMessage' => 'Query price failed when create order.', + ], + [ + 'errorCode' => 'OperationFailed.InsufficientEIP', + 'errorMessage' => 'Eip resource is not enough.', + ], + [ + 'errorCode' => 'OperationFailed.InvokeInnerApi', + 'errorMessage' => 'Failed to invoke inner api.', + ], + [ + 'errorCode' => 'OperationFailed.AccountMoneyInvalid', + 'errorMessage' => 'Account money is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCredtiInfo', + 'errorMessage' => 'Failed to query credit info.', + ], + [ + 'errorCode' => 'FrequentPurchase.EIP', + 'errorMessage' => 'eip frequent purchase', + ], + [ + 'errorCode' => 'OperationFailed.QueryUserLabel', + 'errorMessage' => 'Failed to query user label info.', + ], + [ + 'errorCode' => 'PAY.INSUFFICIENT_BALANCE', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', + 'errorMessage' => 'User withhoding argeement is illegal.', + ], + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'FThe Account failed to create order.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + [ + 'errorCode' => 'ResourceNotFound.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool is not found.', + ], + [ + 'errorCode' => 'ResourceNotEnough.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool is not enough.', + ], + [ + 'errorCode' => 'Mismatch.IpAndPublicIpAddressPool', + 'errorMessage' => 'The Ip and PublicIpAddressPool are mismatched.', + ], + [ + 'errorCode' => 'CreditPayInsufficientBalance', + 'errorMessage' => 'The balance is insufficient, please contact your channel partner to increase the balance', + ], + [ + 'errorCode' => 'OperationDenied.NotOpenDdosOriginProtectService', + 'errorMessage' => 'The operation is not allowed because of you do not open Ddos Origin Protection Service', + ], + [ + 'errorCode' => 'IncorrectStatus.PublicIpAddressPool', + 'errorMessage' => 'The status of PublicIpAddressPool is incorrect.', + ], + [ + 'errorCode' => 'IllegalParam.Isp', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'AccountMoneyValidateError', + 'errorMessage' => 'The available amount of the account is insufficient.', + ], + [ + 'errorCode' => 'OrderFailed.ConcurrentOperate', + 'errorMessage' => 'Failed to create the order due to concurrent operations.', + ], + [ + 'errorCode' => 'OperationFailed.BasicInfoUncompleted', + 'errorMessage' => 'Your information is incomplete. Complete your information before the operation.', + ], + [ + 'errorCode' => 'OperationFailed.QuotaNotEnough', + 'errorMessage' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', + ], + [ + 'errorCode' => 'ExclusiveParam.ZoneAndPublicIpAddressPoolId', + 'errorMessage' => 'The Zone and PublicIpAddressPoolId parameters are mutually exclusive.', + ], + [ + 'errorCode' => 'IllegalParam.Zone', + 'errorMessage' => 'The specified zone is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.AllocateUnfamiliarIp', + 'errorMessage' => 'The operation failed because only IP addresses used within the last seven days can be allocated.', + ], + [ + 'errorCode' => 'Ip.Allocated', + 'errorMessage' => 'The reserve ip has been allocated.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ip', + 'errorMessage' => 'The status of ip is incorrect.', + ], + [ + 'errorCode' => 'UnsupportedFeature.AllocateEipAddressWithZone', + 'errorMessage' => 'The feature of AllocateEipAddressWithZone is not supported.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ip', + 'errorMessage' => 'The specified ip is not found.', + ], + [ + 'errorCode' => 'OperationFailed.CreditPayInsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'OperationFailed.ResourceNotEnough', + 'errorMessage' => 'The resources you have applied for are insufficient.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of bandwidth is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.IpIsLocked', + 'errorMessage' => 'The operation is failed because of ip is locked.', + ], + [ + 'errorCode' => 'Mismatch.EipSecurityProtectionTypeAndPoolSecurityProtectionType', + 'errorMessage' => 'The EipSecurityProtectionType and PoolSecurityProtectionType are mismatched.', + ], + [ + 'errorCode' => 'IllegalParam.SecurityProtectionTypes', + 'errorMessage' => 'The param of securityProtectionTypes is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.ServiceLocation', + 'errorMessage' => 'The param of serviceLocation is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Isp', + 'errorMessage' => 'The feature of Isp is not supported.', + ], + [ + 'errorCode' => 'ExclusiveParam.ZoneAndIpAddress', + 'errorMessage' => 'The specified param Zone and IpAddress or InstanceId are mutually exclusive.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The Description is illeagl.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The attribute name is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.UpgradeCdtServiceFirst', + 'errorMessage' => 'The operation is failed because of cdt is not upgraded.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "RegionId" is not supported.', + ], + [ + 'errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL', + 'errorMessage' => '????????, ????????PD.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'OperationFailed.SystemBusy', + 'errorMessage' => 'Operation failed because system is busy.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeEipAddresses', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"OrderId\\": 10,\\n \\"ResourceGroupId\\": \\"rg-acfmxazfdgdg****\\",\\n \\"EipAddress\\": \\"192.0.XX.XX\\",\\n \\"AllocationId\\": \\"eip-25877c70gddh****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n 10\\n rg-acfmxazfdgdg****\\n 192.0.XX.XX\\n eip-25877c70gddh****\\n","errorExample":""}]', + 'title' => '申请弹性公网IP(EIP)', + 'description' => '请确保在使用本接口前,您已充分了解EIP的收费方式和价格。更多信息,请参见[计费概述](~~122035~~)。'."\n" + ."\n" + .'调用本接口后将在指定的地域内随机获取一个状态为**Available**的弹性公网IP。弹性公网IP在传输层目前只支持解析ICMP、TCP和UDP协议内容,不支持解析IGMP和SCTP等协议内容。', + ], + 'AllocateEipAddressPro' => [ + 'summary' => '调用AllocateEipAddressPro申请指定的EIP,可用于特定的网络配置需求。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP的IP地址。'."\n" + ."\n" + .'**IpAddress**和**InstanceId**参数仅需传入一个,如果都不传,系统会随机申请EIP。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.0.XX.XX', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP的实例ID。'."\n" + ."\n" + .'**IpAddress**和**InstanceId**参数仅需传入一个,如果都不传,系统会随机申请EIP。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eip-25877c70gddh****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP的带宽峰值,单位:Mbps。'."\n" + ."\n" + .'- 当**InstanceChargeType**取值为**PostPaid**,且**InternetChargeType**取值为**PayByBandwidth**时,**Bandwidth**取值范围为**1**~**500**。'."\n" + ."\n" + .'- 当**InstanceChargeType**取值为**PostPaid**,且**InternetChargeType**取值为**PayByTraffic**时,**Bandwidth**取值范围为**1**~**200**。'."\n" + ."\n" + .'- 当**InstanceChargeType**取值为**PrePaid**时,**Bandwidth**取值范围为**1**~**1000**。'."\n" + ."\n" + .'默认值:**5**Mbps。', + 'type' => 'string', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长。'."\n" + ."\n" + .'- 当**PricingCycle**取值**Month**时,**Period**取值范围为**1~9**。'."\n" + ."\n" + .'- 当**PricingCycle**取值**Year**时,**Period**取值范围为**1~3**。'."\n" + ."\n" + .'如果**InstanceChargeType**参数的值为**PrePaid**时,该参数必选。'."\n" + ."\n" + .'如果**InstanceChargeType**参数的值为**PostPaid**时,该参数不填。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ISP', + 'in' => 'query', + 'schema' => [ + 'description' => '线路类型。取值:'."\n" + ."\n" + .'- **BGP**(默认值):BGP(多线)线路。目前全部地域都支持BGP(多线)线路EIP。'."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。目前仅中国香港、新加坡、马来西亚(吉隆坡)、菲律宾(马尼拉)、印度尼西亚(雅加达)和泰国(曼谷)地域支持BGP(多线)\\_精品线路EIP。'."\n" + ."\n\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'- 如果您是单线带宽的白名单用户,您还可以选择以下类型:'."\n" + .' - **ChinaTelecom**:中国电信'."\n" + .' - **ChinaUnicom**:中国联通'."\n" + .' - **ChinaMobile**:中国移动'."\n" + .' - **ChinaTelecom_L2**:中国电信L2'."\n" + .' - **ChinaUnicom_L2**:中国联通L2'."\n" + .' - **ChinaMobile_L2**:中国移动L2'."\n" + .'- 如果您是杭州金融云用户,该字段必填,取值:**BGP_FinanceCloud**。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Netmode', + 'in' => 'query', + 'schema' => [ + 'description' => '网络类型,仅取值为**public**(默认值),表示公网。', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动付费,取值:'."\n" + ."\n" + .'- **false**:不开启自动付费,生成订单后需要到订单中心完成支付。'."\n" + ."\n" + .'- **true**:开启自动付费,自动支付订单。'."\n" + ."\n" + .'当**InstanceChargeType**参数的值为**PrePaid**时,该参数必选;当**InstanceChargeType**参数的值为**PostPaid**时,该参数可不填。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月的计费周期,取值:'."\n" + ."\n" + .'- **Month**(默认值):按月付费。'."\n" + ."\n" + .'- **Year**:按年付费。'."\n" + ."\n" + .'当**InstanceChargeType**参数的值为**PrePaid**时,该参数必选;当**InstanceChargeType**参数的值为**PostPaid**时,该参数可不填。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP的计费方式,取值:'."\n" + .' '."\n" + .'- **PrePaid**:包年包月。'."\n" + ."\n" + .'- **PostPaid**(默认值):按量计费。'."\n" + ."\n" + .'当**InstanceChargeType**取值为**PrePaid**时,**InternetChargeType**必须取值**PayByBandwidth**。'."\n" + ."\n" + .'当**InstanceChargeType**取值为**PostPaid**时,**InternetChargeType**可取值**PayByBandwidth**或**PayByTraffic**。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP的计量方式,取值:'."\n" + ."\n" + .'- **PayByBandwidth**(默认值):按带宽计费。'."\n" + ."\n" + .'- **PayByTraffic**:按流量计费。'."\n" + ."\n" + .'当**InstanceChargeType**取值为**PrePaid**时,**InternetChargeType**必须取值**PayByBandwidth**。'."\n" + ."\n" + .'当**InstanceChargeType**取值为**PostPaid**时,**InternetChargeType**可取值**PayByBandwidth**或**PayByTraffic**。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByBandwidth', + 'default' => 'PayByBandwidth', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要指定申请的EIP所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-resourcegroup****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。'."\n" + ."\n" + .'一次最多支持输入20个标签信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n\n" + .'一个标签值最多支持128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', + ], + ], + [ + 'name' => 'SecurityProtectionTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'array', + 'items' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'string', + 'required' => false, + 'example' => 'AntiDDoS_Enhanced', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池ID。'."\n" + ."\n" + .'EIP将从该IP地址池中分配。'."\n" + ."\n" + .'IP地址池功能默认不开放。如需使用,请联系客户经理申请。', + 'type' => 'string', + 'required' => false, + 'example' => 'pippool-2vc0kxcedhquybdsz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'OrderId' => [ + 'description' => '订单ID。'."\n" + .'当InstanceChargeType(要指定申请的EIP的计费方式)取值为PrePaid(包年包月)时,返回该参数。如果AutoPay取值为false,即未开启自动支付账单时,请前往[订单中心](https://usercenter2.aliyun.com/order/list)完成支付。'."\n" + .'当InstanceChargeType(要指定申请的EIP的计费方式)取值为PrePaid(包年包月)时,返回该参数。如果AutoPay取值为false,即未开启自动支付账单时,请前往[订单中心](https://usercenter2-intl.aliyun.com/order/list)完成支付。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20190000', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。仅**InstanceChargeType**取值为**PostPaid**时返回。', + 'type' => 'string', + 'example' => 'rg-resourcegroup****', + ], + 'EipAddress' => [ + 'description' => '您指定申请的EIP被分配到的IP地址。仅**InstanceChargeType**取值为**PostPaid**时返回。', + 'type' => 'string', + 'example' => '192.0.XX.XX', + ], + 'AllocationId' => [ + 'description' => 'EIP的ID。', + 'type' => 'string', + 'example' => 'eip-25877c70gddh****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'FrequentPurchase.EIP', + 'errorMessage' => 'eip frequent purchase', + ], + [ + 'errorCode' => 'COMMODITY_NO_EXIST', + 'errorMessage' => 'commodity is not exist', + ], + [ + 'errorCode' => 'QuotaExceeded.Eip', + 'errorMessage' => 'Elastic IP address quota exceeded', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "InternetChargeType" is not valid', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ReserveIpFail', + 'errorMessage' => 'Reserve eip failed.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support.', + ], + [ + 'errorCode' => 'InvalidBandwidth.Malformed', + 'errorMessage' => 'The specified Bandwidth is invalid.', + ], + [ + 'errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'QueryParameter.Illegal', + 'errorMessage' => 'query parameter illegal', + ], + [ + 'errorCode' => 'SYSTEM.UNKNOWN.ERROR', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'TokenVerfiy.Failed', + 'errorMessage' => 'token verify failed.', + ], + [ + 'errorCode' => 'OrderFailed', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'QuotaExceeded.LargeSpecEip', + 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'Invalid.Reserve.Ip', + 'errorMessage' => 'The reserve ip is invalid.', + ], + [ + 'errorCode' => 'Ip.Allocated', + 'errorMessage' => 'The reserve ip has been allocated.', + ], + [ + 'errorCode' => 'Ip.Keeped', + 'errorMessage' => 'The reserve ip been keeped in an hour.', + ], + [ + 'errorCode' => 'OperationFailed.AllocateUnfamiliarIp', + 'errorMessage' => 'The operation failed because only IP addresses used within the last seven days can be allocated.', + ], + [ + 'errorCode' => 'INVALID_INSTANCE_STATUS', + 'errorMessage' => 'The instance status is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.InstanceNotExist', + 'errorMessage' => 'Eip instanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => 'The specified status is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.RiskControl', + 'errorMessage' => 'Risk control check failed.', + ], + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'ResourceNotEnough.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool is not enough.', + ], + [ + 'errorCode' => 'Mismatch.IpAndPublicIpAddressPool', + 'errorMessage' => 'The Ip and PublicIpAddressPool are mismatched.', + ], + [ + 'errorCode' => 'ResourceNotFound.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ip', + 'errorMessage' => 'The specified ip is not found.', + ], + [ + 'errorCode' => 'OperationDenied.IpBelongToOtherUser', + 'errorMessage' => 'The operation is not allowed because of ip belong to other user.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ip', + 'errorMessage' => 'The status of ip is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.IpIsLocked', + 'errorMessage' => 'The operation is failed because of ip is locked.', + ], + [ + 'errorCode' => 'Mismatch.IpAndIsp', + 'errorMessage' => 'The specified IP address does not match the ISP.', + ], + [ + 'errorCode' => 'IncorrectStatus.PublicIpAddressPool', + 'errorMessage' => 'The status of PublicIpAddressPool is incorrect.', + ], + [ + 'errorCode' => 'IllegalParam.IpAddress', + 'errorMessage' => 'The specified IpAddress (%s) is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.ResourceNotEnough', + 'errorMessage' => 'The resources you have applied for are insufficient.', + ], + [ + 'errorCode' => 'Mismatch.EipSecurityProtectionTypeAndPoolSecurityProtectionType', + 'errorMessage' => 'The EipSecurityProtectionType and PoolSecurityProtectionType are mismatched.', + ], + [ + 'errorCode' => 'IllegalParam.Isp', + 'errorMessage' => 'The param of Isp [%s] is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "RegionId" is not supported.', + ], + [ + 'errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL', + 'errorMessage' => '????????, ????????PD.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"OrderId\\": 20190000,\\n \\"ResourceGroupId\\": \\"rg-resourcegroup****\\",\\n \\"EipAddress\\": \\"192.0.XX.XX\\",\\n \\"AllocationId\\": \\"eip-25877c70gddh****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n 20190000\\n rg-resourcegroup****\\n 192.0.XX.XX\\n eip-25877c70gddh****\\n","errorExample":""}]', + 'title' => '申请指定的EIP', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReleaseEipAddress' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要释放的EIP所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'description' => '要释放的EIP的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zeerraiwb7uj6i0d****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回请求列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '748C38F6-9A3D-482E-83FB-DB6C39C68AEA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation.', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It\'s forbidden to release a prepaid EIP', + ], + [ + 'errorCode' => 'TaskConflict.AssociateGlobalAccelerationInstance', + 'errorMessage' => 'Operate too frequent.', + ], + [ + 'errorCode' => 'InvalidOperation.DeletionProtection', + 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', + ], + [ + 'errorCode' => 'Forbidden.ReleaseSegmentEip', + 'errorMessage' => 'Release single segment eip is forbidden.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The eip instance owner error', + ], + [ + 'errorCode' => 'Mismatch.%sAnd%s', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"748C38F6-9A3D-482E-83FB-DB6C39C68AEA\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 748C38F6-9A3D-482E-83FB-DB6C39C68AEA\\n","errorExample":""}]', + 'title' => '释放指定EIP', + 'summary' => '调用ReleaseEipAddress接口释放指定的弹性公网IP(EIP)。', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + ."\n" + .'- 释放EIP前,请确保满足以下条件:'."\n" + ."\n" + .' - 只有处于**Available**状态的EIP才可以被释放。'."\n" + ."\n" + .' - 仅按量计费类型的EIP支持释放,包年包月类型的EIP不支持释放。'."\n" + ."\n" + .'- **ReleaseEipAddress**接口属于异步接口,即系统会先返回一个请求ID,但该EIP实例并未释放完成,系统后台的释放任务仍在进行。您可以调用[DescribeEipAddresses](~~120193~~)查询EIP实例的状态:'."\n" + ."\n" + .' - 当EIP实例处于**Releasing**状态时,表示EIP实例正在释放中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当查询不到该EIP实例时,表示EIP实例释放完成。'."\n" + ."\n" + .'- **ReleaseEipAddress**接口不支持并发释放同一个EIP实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyEipAddressAttribute' => [ + 'summary' => '调用ModifyEipAddressAttribute接口修改指定EIP的名称、描述信息和带宽峰值。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的后付费类型EIP的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zeerraiwb7uj6i0d****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => ' 需要修改EIP的带宽峰值,取值:'."\n" + ."\n" + .'- **1**~**200**,按使用流量计费,单位为Mbps。 '."\n" + ."\n" + .'- **1**~**500**,按固定带宽计费,单位为Mbps。', + 'type' => 'string', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的EIP的名称。 '."\n" + ."\n" + .'名称长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test123', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的EIP描述信息。 '."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'InsufficientBalance.Eip', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "Bandwidth" is not supported.', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It?s forbidden to change prepaid EIP?s bandwidth by API. It can be changed on Aliyun web console.', + ], + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidBandwidth.OutOfMaxTrafficBindedOnNatgw', + 'errorMessage' => 'The bandwidth is out of max traffic binded on natgw.', + ], + [ + 'errorCode' => 'QuotaExceeded.LargeSpecEip', + 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', + ], + [ + 'errorCode' => 'InvalidEipAddressName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'ResourceQueryError', + 'errorMessage' => 'The specified resource is queried error.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'SYSTEM.UNKNOWN.ERROR', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'Abs.InvalidBandwidth.Malformed', + 'errorMessage' => 'Specified value of Bandwidth is not supported.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'COMMODITY.INVALID_COMPONENT', + 'errorMessage' => 'The instance component is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.CompleteUserInfo', + 'errorMessage' => 'Complete user info failed.', + ], + [ + 'errorCode' => 'OperationFailed.ConcurrentRequest', + 'errorMessage' => 'Operation failed because concurrent request.', + ], + [ + 'errorCode' => 'IncorrectStatus.ResourceStatus', + 'errorMessage' => 'Resource status is abnormal for renew.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter InstanceId is mandatory.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation id is not found.', + ], + [ + 'errorCode' => 'Forbidden.InCommonBandwidthPackage', + 'errorMessage' => 'Specified allocation ID in common bandwidth package.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '修改EIP属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeEipAddresses' => [ + 'summary' => '查询指定地域已创建的EIP。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含未生效的订购数据,取值:'."\n" + ."\n" + .'- **false**(默认值):不包含未生效的订购数据。'."\n" + ."\n" + .'- **true**:包含未生效的订购数据。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的状态,取值:'."\n" + ."\n" + .'- **Associating**:绑定中。'."\n" + ."\n" + .'- **Unassociating**:解绑中。'."\n" + ."\n" + .'- **InUse**:已分配。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + .'- **Releasing**:释放中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'EipAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的EIP的IP地址。'."\n" + ."\n" + .'最多支持输入50个EIP的IP地址,IP地址之间用半角逗号(,)分隔。'."\n" + ."\n" + .'>如果同时传入**EipAddress**和**AllocationId**参数,**EipAddress**可输入50个EIP的IP地址,**AllocationId**也可同时输入50个EIP的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => '47.75.XX.XX', + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的EIP实例的ID。 '."\n" + ."\n" + .'最多支持输入50个EIP实例ID,实例ID之间用半角逗号(,)分隔。'."\n" + ."\n" + .'>如果同时传入**EipAddress**和**AllocationId**参数,**AllocationId**可输入50个EIP的实例ID,**EipAddress**也可同时输入50个EIP的IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-2zeerraiwb7ujxscd****', + ], + ], + [ + 'name' => 'SegmentInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eipsg-t4nr90yik5oy38xdy****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP所属的资源组的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4pcdvf****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '10', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**100**。默认值:**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ISP', + 'in' => 'query', + 'schema' => [ + 'description' => '线路类型。取值:'."\n" + ."\n" + .'- **BGP**(默认值):BGP(多线)线路。目前全部地域都支持BGP(多线)线路EIP。'."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。目前仅中国香港、新加坡、日本(东京)、马来西亚(吉隆坡)、菲律宾(马尼拉)、印度尼西亚(雅加达)和泰国(曼谷)地域支持BGP(多线)\\_精品线路EIP。'."\n" + ."\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'如果您是单线带宽的白名单用户,您还可以选择以下类型:'."\n" + .'- **ChinaTelecom**:中国电信'."\n" + .'- **ChinaUnicom**:中国联通'."\n" + .'- **ChinaMobile**:中国移动'."\n" + .'- **ChinaTelecom_L2**:中国电信L2'."\n" + .'- **ChinaUnicom_L2**:中国联通L2'."\n" + .'- **ChinaMobile_L2**:中国移动L2'."\n" + ."\n" + .'如果您是杭州金融云用户,该字段必填,取值:**BGP_FinanceCloud**。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Filter.1.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,必须取值为**CreationStartTime**(资源创建的开始时间)。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationStartTime', + ], + ], + [ + 'name' => 'Filter.2.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,必须取值为**CreationEndTime**(资源创建的结束时间)。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationEndTime', + ], + ], + [ + 'name' => 'Filter.1.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。使用UTC时间,格式为`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'required' => false, + 'example' => '2023-01-01T01:00Z', + ], + ], + [ + 'name' => 'Filter.2.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。使用UTC时间,格式为`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'required' => false, + 'example' => '2023-01-06T02:00Z', + ], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => [ + 'description' => '锁定类型,取值:'."\n" + ."\n" + .'- **financial**:因欠费被锁定。'."\n" + ."\n" + .'- **security**:因安全原因被锁定。', + 'type' => 'string', + 'required' => false, + 'example' => 'financial', + ], + ], + [ + 'name' => 'AssociatedInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定的云产品实例的类型,取值: '."\n" + .'- **EcsInstance**(默认值):VPC类型的ECS实例。'."\n" + .'- **SlbInstance**:VPC类型的CLB实例。'."\n" + .'- **Nat**:NAT网关。'."\n" + .'- **HaVip**:高可用虚拟IP。 '."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + .'- **IpAddress**:IP地址。'."\n" + ."\n" + .'> 每个ECS实例、CLB实例、高可用虚拟IP和IP地址同时只能绑定一个EIP,NAT网关可以绑定多个EIP。辅助弹性网卡可以绑定EIP的个数受EIP绑定模式影响,更多信息,请参见[弹性公网IP概述](~~72125~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsInstance', + ], + ], + [ + 'name' => 'AssociatedInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 云产品的实例ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'i-2zebb08phyccdvf****', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的付费模式,取值:'."\n" + .'- **PostPaid**:按量计费。'."\n" + .'- **PrePaid**:包年包月。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会查询资源状况。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EipName', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的名称。'."\n" + ."\n" + .'长度为1~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'EIP-01', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定标签筛选EIP。', + 'type' => 'array', + 'items' => [ + 'description' => '指定标签筛选EIP。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'一个标签值最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SecurityProtectionEnabled', + 'in' => 'query', + 'schema' => [ + 'title' => '是否开启安全防护', + 'description' => '是否开启了DDoS防护(增强版)。取值:'."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的EIP所属IP地址池ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pippool-2vc0kxcedhquybdsz****', + ], + ], + [ + 'name' => 'ServiceManaged', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为托管实例。取值:'."\n" + .'- **true**:是托管实例。'."\n" + .'- **false**:不是托管实例。'."\n" + ."\n" + .'不填默认查询所有实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'EipAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EipAddress' => [ + 'description' => 'EIP的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'EIP的详细信息。', + 'type' => 'object', + 'properties' => [ + 'ReservationActiveTime' => [ + 'description' => '续费生效时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2021-05-23T16:00:00Z', + ], + 'Status' => [ + 'description' => 'EIP的状态。'."\n" + ."\n" + .'- **Associating**:绑定中。'."\n" + ."\n" + .'- **Unassociating**:解绑中。 '."\n" + ."\n" + .'- **InUse**:已分配。 '."\n" + ."\n" + .'- **Available**:可用。 '."\n" + .'- **Releasing**:释放中。'."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'ReservationOrderType' => [ + 'description' => '续费订单类型。'."\n" + ."\n" + .'- **RENEWCHANGE**:续费变配。'."\n" + .'- **TEMP_UPGRADE**:短时升配。'."\n" + .'- **UPGRADE** :升级。', + 'type' => 'string', + 'example' => 'RENEWCHANGE', + ], + 'AllocationTime' => [ + 'description' => 'EIP的创建时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2021-04-23T01:37:38Z', + ], + 'Netmode' => [ + 'description' => '网络类型。仅取值:**public**,表示公网。', + 'type' => 'string', + 'example' => 'public', + ], + 'ChargeType' => [ + 'description' => 'EIP的付费模式,取值:'."\n" + .'- **PostPaid**:按量计费。'."\n" + .'- **PrePaid**:包年包月。'."\n", + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'Description' => [ + 'description' => 'EIP的描述信息。', + 'type' => 'string', + 'example' => 'abc', + ], + 'Mode' => [ + 'description' => '绑定模式,取值:'."\n" + ."\n" + .'- **NAT**:NAT模式(普通模式)。'."\n" + ."\n" + .'- **MULTI_BINDED**:多EIP网卡可见模式。'."\n" + ."\n" + .'- **BINDED**:EIP网卡可见模式。', + 'type' => 'string', + 'example' => 'NAT', + ], + 'SegmentInstanceId' => [ + 'description' => '连续EIP的实例ID。'."\n" + ."\n" + .'仅EIP属于连续EIP时才会返回该参数值。', + 'type' => 'string', + 'example' => 'eipsg-t4nr90yik5oy38xd****', + ], + 'ReservationInternetChargeType' => [ + 'description' => '续费付费类型。'."\n" + ."\n" + .'- **PayByBandwidth**:按固定带宽计费。'."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'BandwidthPackageId' => [ + 'description' => '加入的共享带宽ID。', + 'type' => 'string', + 'example' => 'cbwp-bp1ego3i4j07ccdvf****', + ], + 'IpAddress' => [ + 'description' => 'EIP的IP地址。', + 'type' => 'string', + 'example' => '47.75.XX.XX', + ], + 'Bandwidth' => [ + 'description' => 'EIP的带宽峰值。单位:Mbps。', + 'type' => 'string', + 'example' => '5', + ], + 'ReservationBandwidth' => [ + 'description' => '续费带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '12', + ], + 'EipBandwidth' => [ + 'description' => 'EIP加入共享带宽之前或退出共享带宽之后的带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '101', + ], + 'Name' => [ + 'description' => 'EIP的名称。', + 'type' => 'string', + 'example' => 'EIP-01', + ], + 'PrivateIpAddress' => [ + 'description' => 'EIP所绑定的辅助弹性网卡实例的私网IP地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'InstanceRegionId' => [ + 'description' => '当前绑定的资源的地域ID。', + 'type' => 'string', + 'example' => ' cn-hangzhou', + ], + 'DeletionProtection' => [ + 'description' => '是否开启了删除保护功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InstanceId' => [ + 'description' => '当前绑定的实例的ID。', + 'type' => 'string', + 'example' => 'i-bp15zckdt37cdvf****', + ], + 'SecondLimited' => [ + 'description' => '是否配置了二级限速。'."\n" + ."\n" + .'- **true**:已配置。'."\n" + ."\n" + .'- **false**:未配置。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'InstanceType' => [ + 'description' => '当前绑定的实例类型。'."\n" + ."\n" + .'- **EcsInstance**:VPC类型的ECS实例。'."\n" + ."\n" + .'- **SlbInstance**:VPC类型的CLB实例。'."\n" + ."\n" + .'- **Nat**:NAT网关。'."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。 '."\n" + ."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + .'- **IpAddress**:IP地址。', + 'type' => 'string', + 'example' => 'EcsInstance', + ], + 'HDMonitorStatus' => [ + 'description' => 'EIP是否开启了秒级监控。'."\n" + ."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'- **true**:已开启。', + 'type' => 'string', + 'example' => 'false', + ], + 'RegionId' => [ + 'description' => 'EIP所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'BandwidthPackageBandwidth' => [ + 'description' => 'EIP加入的共享带宽的带宽值。单位:Mbps。', + 'type' => 'string', + 'example' => '50', + ], + 'ServiceManaged' => [ + 'description' => '是否为托管实例。取值:'."\n" + ."\n" + .'- **1**:是托管实例。'."\n" + ."\n" + .'- **0**:不是托管实例。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'ExpiredTime' => [ + 'description' => '到期时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2021-05-23T02:00:00Z', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazcdxs****', + ], + 'AllocationId' => [ + 'description' => 'EIP的实例ID。', + 'type' => 'string', + 'example' => 'eip-2zeerraiwb7ujcdvf****', + ], + 'InternetChargeType' => [ + 'description' => 'EIP的计费方式。'."\n" + ."\n" + .'- **PayByBandwidth**:按固定带宽计费。'."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'BusinessStatus' => [ + 'description' => 'EIP实例的业务状态。'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + .'- **OperationLock**:被锁定。'."\n" + .'- **Unactivated**:未激活。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'BandwidthPackageType' => [ + 'description' => '带宽的类型,仅支持返回**CommonBandwidthPackage**(共享带宽)。', + 'type' => 'string', + 'example' => 'CommonBandwidthPackage', + ], + 'HasReservationData' => [ + 'description' => '是否有续费数据。'."\n" + .'- **false**:无续费数据。'."\n" + .'- **true**:有续费数据。只有在入参**IncludeReservationData**为**true**,且有未生效订购数据时才会为**true**。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'ISP' => [ + 'description' => '线路类型。'."\n" + ."\n" + .'- **BGP**:BGP(多线)线路。目前全部地域都支持BGP(多线)线路EIP。'."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。目前仅中国香港、新加坡、日本(东京)、马来西亚(吉隆坡)、菲律宾(马尼拉)、印度尼西亚(雅加达)和泰国(曼谷)地域支持BGP(多线)\\_精品线路EIP。'."\n" + ."\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'如果您是单线带宽的白名单用户,返回类型还可能为:'."\n" + .'- **ChinaTelecom**:中国电信'."\n" + .'- **ChinaUnicom**:中国联通'."\n" + .'- **ChinaMobile**:中国移动'."\n" + .'- **ChinaTelecom_L2**:中国电信L2'."\n" + .'- **ChinaUnicom_L2**:中国联通L2'."\n" + .'- **ChinaMobile_L2**:中国移动L2'."\n" + ."\n" + .'如果您是杭州金融云用户,返回**BGP_FinanceCloud**。', + 'type' => 'string', + 'example' => 'BGP', + ], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LockReason' => [ + 'description' => '锁定详情。', + 'type' => 'array', + 'items' => [ + 'description' => '锁定详情。', + 'type' => 'object', + 'properties' => [ + 'LockReason' => [ + 'description' => '锁定类型。'."\n" + ."\n" + .'- **financial**:因欠费被锁定。'."\n" + ."\n" + .'- **security**:因安全原因被锁定。'."\n" + ."\n" + .'- **sharedPool**:因共享IP地址池欠费被锁定。', + 'type' => 'string', + 'example' => 'financial', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'EIP的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'EIP的标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'EIP的标签键。', + 'type' => 'string', + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => 'EIP的标签值。', + 'type' => 'string', + 'example' => 'ValueTest', + ], + ], + 'example' => '"Tag": [ { "Value": "000", "Key": "yyy" }, { "Value": "111","Key": "kkk" }', + ], + ], + ], + ], + 'SecurityProtectionTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityProtectionType' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 返回为空时,表示DDoS防护(基础版)。'."\n" + ."\n" + .'- 返回**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'array', + 'items' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 返回为空时,表示DDoS防护(基础版)。'."\n" + ."\n" + .'- 返回**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'string', + 'example' => 'AntiDDoS_Enhanced', + ], + ], + ], + ], + 'PublicIpAddressPoolId' => [ + 'description' => 'EIP所属的IP地址池ID。'."\n", + 'type' => 'string', + 'example' => 'pippool-2vc0kxcedhquybdsz****', + ], + 'VpcId' => [ + 'description' => '开通了IPv4网关功能且与EIP同地域的VPC ID。'."\n" + ."\n" + .'EIP绑定IP地址时,系统可以根据该VPC的路由配置,使绑定的IP地址具备公网访问能力。'."\n" + ."\n" + .'> **InstanceType**为**IpAddress**时,即绑定EIP的实例类型为IP地址时,返回该参数。', + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + 'Zone' => [ + 'description' => 'EIP的可用区。'."\n" + ."\n" + .'仅当EIP业务类型为云盒时,返回该参数。', + 'type' => 'string', + 'example' => 'ap-southeast-1-lzdvn-cb', + ], + 'BizType' => [ + 'description' => 'EIP的业务类型。'."\n" + .'- **CloudBox**:云盒。仅云盒用户支持该类型。'."\n" + .'- **Default**(默认值):默认,表示非特殊类型。', + 'type' => 'string', + 'example' => 'CloudBox', + ], + 'ServiceID' => [ + 'description' => '云服务托管账号ID', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '18726XXXXXXX', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIAssociatedInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified value of AssociatedInstanceType is not supported.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'The specified ChargeType is not supported.', + ], + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'User Id is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'InstanceType.Invalid', + 'errorMessage' => 'InstanceType is not null', + ], + [ + 'errorCode' => 'InstanceIdLength.Exceed', + 'errorMessage' => 'InstanceId length is exceed', + ], + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => 'ResourceGroup is not supported in this region.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidFilterValue', + 'errorMessage' => 'The specified FilterValue is not supported.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidFilterKey.NotFound', + 'errorMessage' => 'The specified Filterkey is not supported.', + ], + [ + 'errorCode' => 'InvalidLockReason.NotFound', + 'errorMessage' => 'The specified LockReason is not found', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"PageNumber\\": 10,\\n \\"TotalCount\\": 1,\\n \\"EipAddresses\\": {\\n \\"EipAddress\\": [\\n {\\n \\"ReservationActiveTime\\": \\"2021-05-23T16:00:00Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"ReservationOrderType\\": \\"RENEWCHANGE\\",\\n \\"AllocationTime\\": \\"2021-04-23T01:37:38Z\\",\\n \\"Netmode\\": \\"public\\",\\n \\"ChargeType\\": \\"PostPaid\\",\\n \\"Description\\": \\"abc\\",\\n \\"Mode\\": \\"NAT\\",\\n \\"SegmentInstanceId\\": \\"eipsg-t4nr90yik5oy38xd****\\",\\n \\"ReservationInternetChargeType\\": \\"PayByBandwidth\\",\\n \\"BandwidthPackageId\\": \\"cbwp-bp1ego3i4j07ccdvf****\\",\\n \\"IpAddress\\": \\"47.75.XX.XX\\",\\n \\"Bandwidth\\": \\"5\\",\\n \\"ReservationBandwidth\\": \\"12\\",\\n \\"EipBandwidth\\": \\"101\\",\\n \\"Name\\": \\"EIP-01\\",\\n \\"PrivateIpAddress\\": \\"192.168.XX.XX\\",\\n \\"InstanceRegionId\\": \\" cn-hangzhou\\",\\n \\"DeletionProtection\\": true,\\n \\"InstanceId\\": \\"i-bp15zckdt37cdvf****\\",\\n \\"SecondLimited\\": false,\\n \\"InstanceType\\": \\"EcsInstance\\",\\n \\"HDMonitorStatus\\": \\"false\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"BandwidthPackageBandwidth\\": \\"50\\",\\n \\"ServiceManaged\\": 0,\\n \\"ExpiredTime\\": \\"2021-05-23T02:00:00Z\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazcdxs****\\",\\n \\"AllocationId\\": \\"eip-2zeerraiwb7ujcdvf****\\",\\n \\"InternetChargeType\\": \\"PayByBandwidth\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"BandwidthPackageType\\": \\"CommonBandwidthPackage\\",\\n \\"HasReservationData\\": \\"false\\",\\n \\"ISP\\": \\"BGP\\",\\n \\"OperationLocks\\": {\\n \\"LockReason\\": [\\n {\\n \\"LockReason\\": \\"financial\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"KeyTest\\",\\n \\"Value\\": \\"ValueTest\\"\\n }\\n ]\\n },\\n \\"SecurityProtectionTypes\\": {\\n \\"SecurityProtectionType\\": [\\n \\"AntiDDoS_Enhanced\\"\\n ]\\n },\\n \\"PublicIpAddressPoolId\\": \\"pippool-2vc0kxcedhquybdsz****\\",\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72zv****\\",\\n \\"Zone\\": \\"ap-southeast-1-lzdvn-cb\\",\\n \\"BizType\\": \\"CloudBox\\",\\n \\"ServiceID\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n 10\\n 1\\n \\n 2021-05-23T16:00:00Z\\n Available\\n RENEWCHANGE\\n 2021-04-23T01:37:38Z\\n public\\n PostPaid\\n abc\\n eipsg-t4nr90yik5oy38xd****\\n PayByBandwidth\\n cbwp-bp1ego3i4j07ccdvf****\\n 47.75.XX.XX\\n 5\\n 12\\n 101\\n EIP-01\\n cn-hangzhou\\n true\\n i-bp15zckdt37cdvf****\\n false\\n EcsInstance\\n false\\n cn-hangzhou\\n 50\\n 0\\n 2021-05-23T02:00:00Z\\n rg-acfmxazcdxs****\\n eip-2zeerraiwb7ujcdvf****\\n PayByBandwidth\\n Normal\\n CommonBandwidthPackage\\n false\\n BGP\\n \\n financial\\n \\n \\n KeyTest\\n ValueTest\\n \\n AntiDDoS_Enhanced\\n pippool-2vc0kxcedhquybdsz****\\n vpc-bp15zckdt37pq72zv****\\n ap-southeast-1-lzdvn-cb\\n CloudBox\\n \\n","errorExample":""}]', + 'title' => '查询指定地域已创建的EIP', + 'description' => '本接口可以查询指定地域已创建的EIP信息,包括EIP的带宽峰值、计费方式,当前绑定的实例类型等。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeEipGatewayInfo' => [ + 'summary' => '调用DescribeEipGatewayInfo接口查询EIP的网关和掩码信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的EIP绑定的辅助弹性网卡的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp1d66qjxb3qoin3****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的EIP所属的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-zhangjiakou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的EIP所属的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-zhangjiakou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数列表。', + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '操作状态码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '传递的操作信息。', + 'type' => 'string', + 'example' => 'successful', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C0FD0EED-F90D-4479-803D-DD62335357E5 ', + ], + 'EipInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EipInfo' => [ + 'description' => 'EIP详细信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'EIP详细信息。', + 'type' => 'object', + 'properties' => [ + 'Ip' => [ + 'description' => 'EIP的IP地址。', + 'type' => 'string', + 'example' => '47.XX.XX.236', + ], + 'IpGw' => [ + 'description' => 'EIP的网关地址。', + 'type' => 'string', + 'example' => '47.XX.XX.1', + ], + 'IpMask' => [ + 'description' => 'EIP的子网掩码。', + 'type' => 'string', + 'example' => '255.255.255.0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Instance.NotExist', + 'errorMessage' => 'The instance is not exist.', + ], + [ + 'errorCode' => 'InvalidNetworkInterface.NotFound', + 'errorMessage' => 'The specified network interface is not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"C0FD0EED-F90D-4479-803D-DD62335357E5\\\\t\\",\\n \\"EipInfos\\": {\\n \\"EipInfo\\": [\\n {\\n \\"Ip\\": \\"47.XX.XX.236\\",\\n \\"IpGw\\": \\"47.XX.XX.1\\",\\n \\"IpMask\\": \\"255.255.255.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 200\\n successful\\n C0FD0EED-F90D-4479-803D-DD62335357E5\\t\\n \\n 47.XX.XX.236\\n 47.XX.XX.1\\n 255.255.255.0\\n \\n","errorExample":""}]', + 'title' => '查询EIP的网关和掩码信息', + 'description' => '仅支持查询以多EIP网卡可见模式绑定辅助弹性网卡的EIP的网关和掩码信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AllocateEipSegmentAddress' => [ + 'summary' => '连续EIP是一组按序排列的弹性公网IP地址,您可以在进行网络设计时,为需要连续公网IP地址的云资源批量申请和使用这些IP地址。您可以通过调用AllocateEipSegmentAddress接口申请连续EIP。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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' => '02fb3da4-130e-11e9-8e44-001****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'- 当**InternetChargeType**取值为**PayByBandwidth**时,**Bandwidth**取值范围为**1**~**500**。'."\n" + ."\n" + .'- 当**InternetChargeType**取值为**PayByTraffic**时,**Bandwidth**取值范围为**1**~**200**。'."\n" + ."\n" + .'默认值为**5** Mbps。', + 'type' => 'string', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EipMask', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP的掩码,取值:'."\n" + ."\n" + .'- **28**:单次调用,系统将分配16个连续EIP。'."\n" + ."\n" + .'- **27**:单次调用,系统将分配32个连续EIP。'."\n" + ."\n" + .'- **26**:单次调用,系统将分配64个连续EIP。'."\n" + ."\n" + .'- **25**:单次调用,系统将分配128个连续EIP。'."\n" + ."\n" + .'- **24**:单次调用,系统将分配256个连续EIP。'."\n" + ."\n" + .'>由于IP地址保留,实际申请到的连续EIP可能缺少1、3或者4个EIP。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '28', + ], + ], + [ + 'name' => 'Netmode', + 'in' => 'query', + 'schema' => [ + 'description' => '网络类型,仅取值:**public**,表示公网。', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP的计费方式,取值:'."\n" + ."\n" + .'- **PayByBandwidth**(默认值):按固定带宽计费。'."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByBandwidth', + 'default' => 'PayByBandwidth', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => [ + 'description' => '线路类型。取值:'."\n" + ."\n" + .'- **BGP**(默认值):BGP(多线)线路。目前全部地域都支持BGP(多线)线路EIP。'."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。目前仅中国香港、新加坡、日本(东京)、马来西亚(吉隆坡)、菲律宾(马尼拉)、印度尼西亚(雅加达)和泰国(曼谷)地域支持BGP(多线)\\_精品线路EIP。'."\n" + ."\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'如果您是单线带宽的白名单用户,您还可以选择以下类型:'."\n" + .'- **ChinaTelecom**:中国电信'."\n" + .'- **ChinaUnicom**:中国联通'."\n" + .'- **ChinaMobile**:中国移动'."\n" + .'- **ChinaTelecom_L2**:中国电信L2'."\n" + .'- **ChinaUnicom_L2**:中国联通L2'."\n" + .'- **ChinaMobile_L2**:中国移动L2'."\n" + ."\n" + .'如果您是杭州金融云用户,该字段必填,取值:**BGP_FinanceCloud**。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Zone', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP组的可用区。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-a', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', + ], + 'EipSegmentInstanceId' => [ + 'description' => '连续EIP组的实例ID。', + 'type' => 'string', + 'example' => 'eipsg-2zett8ba055tbsxme****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'COMMODITY_NO_EXIST', + 'errorMessage' => 'commodity is not exist', + ], + [ + 'errorCode' => 'QuotaExceeded.Eip', + 'errorMessage' => 'Elastic IP address quota exceeded', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "InternetChargeType" is not valid', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ReserveIpFail', + 'errorMessage' => 'Reserve eip failed.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support.', + ], + [ + 'errorCode' => 'InvalidBandwidth.Malformed', + 'errorMessage' => 'The specified Bandwidth is invalid.', + ], + [ + 'errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'QueryParameter.Illegal', + 'errorMessage' => 'query parameter illegal', + ], + [ + 'errorCode' => 'TokenVerfiy.Failed', + 'errorMessage' => 'token verify failed.', + ], + [ + 'errorCode' => 'OrderFailed', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'QuotaExceeded.LargeSpecEip', + 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'SYSTEM.SALE_VALIDATE_UNEXPECTED_ERROR', + 'errorMessage' => 'You have arrears and do not meet the purchase conditions.', + ], + [ + 'errorCode' => 'Trade_Sync_Create_Sub_ERROR', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'InvalidComponent.EipBandwidthMax', + 'errorMessage' => 'The eip_bandwidth_max component is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.RiskControl', + 'errorMessage' => 'Risk control check failed.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + [ + 'errorCode' => 'IllegalParam.OrderParamComponent', + 'errorMessage' => 'Product order param has invalid component.', + ], + [ + 'errorCode' => 'OperationFailed.SaleExpression', + 'errorMessage' => 'Get the sales expression exception attached to the item.', + ], + [ + 'errorCode' => 'OperationFailed.CompleteUserInfo', + 'errorMessage' => 'Complete user info failed.', + ], + [ + 'errorCode' => 'OperationFailed.QueryPrice', + 'errorMessage' => 'Query price failed when create order.', + ], + [ + 'errorCode' => 'OperationFailed.InsufficientEIP', + 'errorMessage' => 'Eip resource is not enough.', + ], + [ + 'errorCode' => 'OperationFailed.InvokeInnerApi', + 'errorMessage' => 'Failed to invoke inner api.', + ], + [ + 'errorCode' => 'OperationFailed.AccountMoneyInvalid', + 'errorMessage' => 'Account money is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCredtiInfo', + 'errorMessage' => 'Failed to query credit info.', + ], + [ + 'errorCode' => 'FrequentPurchase.EIP', + 'errorMessage' => 'eip frequent purchase', + ], + [ + 'errorCode' => 'OperationFailed.QueryUserLabel', + 'errorMessage' => 'Failed to query user label info.', + ], + [ + 'errorCode' => 'PAY.INSUFFICIENT_BALANCE', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ORDER.QUANTITY_INVALID', + 'errorMessage' => 'User quota has exceeded the limit.', + ], + [ + 'errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', + 'errorMessage' => 'User withhoding argeement is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.ChargeTypeInvalid', + 'errorMessage' => 'Operation failed because hybrid netmode do not support PayByTraffic.', + ], + [ + 'errorCode' => 'IllegalParam.EipMask', + 'errorMessage' => 'EipMask is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'Name is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'Description is illegal.', + ], + [ + 'errorCode' => 'InstanceExist.EipSegment', + 'errorMessage' => 'The eipSegment instance already exists.', + ], + [ + 'errorCode' => 'OperationFailed.QuotaExceed', + 'errorMessage' => 'Operation failed because over threshold bandwidth quota exceed.', + ], + [ + 'errorCode' => 'OperationFailed.FrequentPurchase', + 'errorMessage' => 'Operation failed because eip frequent purchase.', + ], + [ + 'errorCode' => 'OperationFailed.AllocateEipSegment', + 'errorMessage' => 'Operation failed because eip segment is out of stock.', + ], + [ + 'errorCode' => 'OperationFailed.CreateOrderFailed', + 'errorMessage' => 'Operation failed because create order failed.', + ], + [ + 'errorCode' => 'MissingParam.Bandwidth', + 'errorMessage' => 'The parameter Bandwidth is mandatory when allocate hybrid EipSegment.', + ], + [ + 'errorCode' => 'OperationFailed.EipQuotaExceed', + 'errorMessage' => 'Operation failed because eip quota exceed.', + ], + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'UnsupportedFeature.AllocateEipAddressWithZone', + 'errorMessage' => 'The feature of AllocateEipAddressWithZone is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.Zone', + 'errorMessage' => 'The specified zone is invalid.', + ], + [ + 'errorCode' => 'Forbidden.AllocateEipSegmentAddress', + 'errorMessage' => 'Authentication is failed for allocating eip segment address.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "RegionId" is not supported.', + ], + [ + 'errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL', + 'errorMessage' => '????????, ????????PD.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F7A6301A-64BA-41EC-8284-8F4838C15D1F\\",\\n \\"EipSegmentInstanceId\\": \\"eipsg-2zett8ba055tbsxme****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F7A6301A-64BA-41EC-8284-8F4838C15D1F\\t\\n eipsg-2zett8ba055tbsxme****\\n","errorExample":""}]', + 'title' => '申请连续EIP', + 'description' => '**AllocateEipSegmentAddress**接口属于异步接口,即系统会先返回一个连续EIP组的实例ID,但该连续EIP组并未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeEipSegment](~~156063~~)查询连续EIP组的状态。'."\n" + ."\n" + .'- 当连续EIP组处于**Allocating**状态时,表示连续EIP组分配中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当连续EIP组处于**Allocated**状态时,表示连续EIP组已分配完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeEipSegment' => [ + 'methods' => [ + 'post', + 'get', + ], + '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' => '02fb3da4-130e-11e9-8e44-001sdfg', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP组所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SegmentInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的连续EIP组的实例ID。'."\n" + ."\n" + .'未指定时,返回指定地域下所有连续EIP组的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'eipsg-2zett8ba055tbsxme****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的条目数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。'."\n", + 'type' => 'string', + 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'EipSegments' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EipSegment' => [ + 'description' => '连续EIP组详情。', + 'type' => 'array', + 'items' => [ + 'description' => '连续EIP组详情。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '连续EIP组的创建时间。按照ISO8601标准表示,并需要使用UTC+0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2020-03-06T12:30:07Z', + ], + 'Status' => [ + 'description' => '连续EIP组的状态。'."\n" + ."\n" + .'- **Allocating**:分配中。'."\n" + ."\n" + .'- **Allocated**:已分配。'."\n" + ."\n" + .'- **Releasing**:释放中。', + 'type' => 'string', + 'example' => 'Allocated', + ], + 'Descritpion' => [ + 'description' => '连续EIP组的描述。', + 'type' => 'string', + 'example' => 'MyEipSegment', + ], + 'InstanceId' => [ + 'description' => '连续EIP组的实例ID。', + 'type' => 'string', + 'example' => 'eipsg-2zett8ba055tbsxme****', + ], + 'IpCount' => [ + 'description' => '连续EIP组中包含的IP个数。', + 'type' => 'string', + 'example' => '16', + ], + 'Name' => [ + 'description' => '连续EIP组名称。', + 'type' => 'string', + 'example' => 'MyEipSegment', + ], + 'Segment' => [ + 'description' => '连续EIP组的网段与掩码。', + 'type' => 'string', + 'example' => '161.xx.xx.32/28', + ], + 'RegionId' => [ + 'description' => '连续EIP组所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Zone' => [ + 'description' => '连续EIP组的可用区。', + 'type' => 'string', + 'example' => 'cn-hangzhou-a', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.QueryDbError', + 'errorMessage' => 'Operation failed because query db error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"F7A6301A-64BA-41EC-8284-8F4838C15D1F\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"EipSegments\\": {\\n \\"EipSegment\\": [\\n {\\n \\"CreationTime\\": \\"2020-03-06T12:30:07Z\\",\\n \\"Status\\": \\"Allocated\\",\\n \\"Descritpion\\": \\"MyEipSegment\\",\\n \\"InstanceId\\": \\"eipsg-2zett8ba055tbsxme****\\",\\n \\"IpCount\\": \\"16\\",\\n \\"Name\\": \\"MyEipSegment\\",\\n \\"Segment\\": \\"161.xx.xx.32/28\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Zone\\": \\"cn-hangzhou-a\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n F7A6301A-64BA-41EC-8284-8F4838C15D1F\\n 1\\n 10\\n \\n 2020-03-06T12:30:07Z\\n Allocated\\n MyEipSegment\\n eipsg-2zett8ba055tbsxme****\\n 16\\n MyEipSegment\\n 161.xx.xx.32/28\\n cn-hangzhou\\n \\n","errorExample":""}]', + 'title' => '查询连续EIP组', + 'summary' => '调用DescribeEipSegment查询连续EIP组的信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReleaseEipSegmentAddress' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP所属的地域ID。可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SegmentInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要释放的连续EIP组的实例ID。'."\n" + ."\n" + .'系统会释放该连续EIP组内的所有EIP。', + 'type' => 'string', + 'required' => true, + 'example' => 'eipsg-2zett8ba055tbsxme****', + ], + ], + [ + '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-001sdfg', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation.', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It\'s forbidden to release a prepaid EIP', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The eip instance owener error', + ], + [ + 'errorCode' => 'TaskConflict.AssociateGlobalAccelerationInstance', + 'errorMessage' => 'Operate too frequent.', + ], + [ + 'errorCode' => 'InvalidOperation.DeletionProtection', + 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', + ], + [ + 'errorCode' => 'OperationFailed.InstanceNotExist', + 'errorMessage' => 'Operation failed because eip segment instance not exist.', + ], + [ + 'errorCode' => 'OperationFailed.EipNumInconsistent', + 'errorMessage' => 'Operation failed because the number of eip is inconsistent.', + ], + [ + 'errorCode' => 'OperationFailed.EipStatusInvalid', + 'errorMessage' => 'Operation failed because eip instance status invalid.', + ], + [ + 'errorCode' => 'OperationFailed.EipInBwp', + 'errorMessage' => 'Operation failed because eip instance has been added to the bandwidth package.', + ], + [ + 'errorCode' => 'Forbidden.EipInBwp', + 'errorMessage' => 'The EIP has been associated with an EIP bandwidth plan.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F7A6301A-64BA-41EC-8284-8F4838C15D1F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F7A6301A-64BA-41EC-8284-8F4838C15D1F\\n","errorExample":""}]', + 'title' => '释放连续EIP', + 'summary' => '调用ReleaseEipSegmentAddress释放连续EIP。', + 'description' => '- **ReleaseEipSegmentAddress**接口会释放连续EIP组内的所有EIP。'."\n" + ."\n" + .'- 调用**ReleaseEipSegmentAddress**接口前,请确保:'."\n" + ."\n" + .' - 连续EIP组内EIP处于非绑定状态。解绑云资源,请参见[UnassociateEipAddress](~~2518066~~)。'."\n" + ."\n" + .' - 连续EIP组内EIP未加入共享带宽。将EIP从共享带宽中移除,请参见[RemoveCommonBandwidthPackageIp](~~2518602~~) 。'."\n" + ."\n" + .'- **ReleaseEipSegmentAddress**接口属于异步接口,即系统会先返回一个请求ID,但连续EIP并未完成释放,系统后台的释放任务仍在进行。您可以调用[DescribeEipSegment](~~156063~~)查询连续EIP组的状态: '."\n" + .' - 当连续EIP组处于**Releasing**状态时,表示连续EIP正在释放中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到该连续EIP组时,表示连续EIP释放完成。'."\n" + ."\n" + .'- **ReleaseEipSegmentAddress**接口不支持并发释放同一个连续EIP组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyEipForwardMode' => [ + 'summary' => '修改EIP转发模式。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP所属的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的eip实例的id。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-j5ebhbw3br92fy****', + ], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => [ + 'description' => '绑定模式,取值:'."\n" + ."\n" + .'- **NAT**(默认值):NAT模式(普通模式)。'."\n" + ."\n" + .'- **MULTI_BINDED**:多EIP网卡可见模式。'."\n" + ."\n" + .'- **BINDED**:EIP网卡可见模式。'."\n" + ."\n\n" + .'> 仅**InstanceType**配置为**NetworkInterface**时,才需要配置该参数。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'BINDED', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP所属的地域ID。您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '62C6A6A5-1534-53D9-AB1E-C9307A147ED5', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Region.NotSupport', + 'errorMessage' => 'Region not support.', + ], + [ + 'errorCode' => 'Instance.ModeError', + 'errorMessage' => 'eip instance mode error.', + ], + [ + 'errorCode' => 'Instance.StatusError', + 'errorMessage' => 'eip status error.', + ], + [ + 'errorCode' => 'ENI.BindEcs', + 'errorMessage' => 'eni bind ecs.', + ], + [ + 'errorCode' => 'Forbidden.PrePaidBindedEip', + 'errorMessage' => 'prepaid eip cannot be direct.', + ], + [ + 'errorCode' => 'BindInstance.NotSupport', + 'errorMessage' => 'eip can only change mode when it is allocated or bind eni.', + ], + [ + 'errorCode' => 'IncorrectStatus.EipInstance', + 'errorMessage' => 'Eip instance\'s status is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'Instance.NotFound', + 'errorMessage' => 'eip instance not found.', + ], + [ + 'errorCode' => 'ENI.NotFound', + 'errorMessage' => 'eni not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"62C6A6A5-1534-53D9-AB1E-C9307A147ED5\\"\\n}","type":"json"}]', + 'title' => '修改EIP转发模式', + ], + 'AssociateEipAddress' => [ + 'summary' => '调用AssociateEipAddress将弹性公网IP(EIP)绑定到同地域的云产品实例上。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定云产品实例的EIP所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'description' => '绑定云产品实例的EIP的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zeerraiwb7ujsxdc****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定EIP的实例ID。'."\n" + ."\n" + .'支持输入NAT网关实例ID、传统型负载均衡CLB实例ID、云服务器ECS实例ID、辅助弹性网卡实例ID、高可用虚拟IP实例ID、IP地址。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-2zebb08phyczzawe****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定EIP的实例的类型,取值:'."\n" + ."\n" + .'- **Nat**:NAT网关。'."\n" + ."\n" + .'- **SlbInstance**:传统型负载均衡CLB。'."\n" + ."\n" + .'- **EcsInstance**(默认值):云服务器ECS。'."\n" + ."\n" + .'- **NetworkInterface**:辅助弹性网卡。'."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。 '."\n" + ."\n" + .'- **IpAddress**:IP地址。'."\n" + ."\n" + .'> 默认要绑定EIP的实例类型为**EcsInstance**,如果您需要绑定EIP的实例类型不为**EcsInstance**,则该值必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsInstance', + ], + ], + [ + 'name' => 'InstanceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定EIP的实例所属地域的ID。'."\n" + ."\n" + .'>仅在EIP加入到带宽共享型全球加速实例后,才需要填写该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机网段内的一个IP地址。'."\n" + ."\n" + .'如果不输入该参数,系统根据VPC ID和交换机ID自动分配一个私网IP地址。'."\n" + .'> 当**InstanceType**配置为**NetworkInterface**时,该参数必填,需输入要绑定的私网IP。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => [ + 'description' => '绑定模式,取值:'."\n" + ."\n" + .'- **NAT**(默认值):NAT模式(普通模式)。'."\n" + ."\n" + .'- **MULTI_BINDED**:多EIP网卡可见模式。'."\n" + ."\n" + .'- **BINDED**:EIP网卡可见模式。'."\n" + ."\n\n" + .'> 仅**InstanceType**配置为**NetworkInterface**时,才需要配置该参数。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NAT', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '开通了IPv4网关功能且与EIP同地域的VPC ID。'."\n" + ."\n" + .'EIP绑定IP地址时,系统可以根据该VPC的路由配置,使绑定的IP地址具备公网访问能力。'."\n" + ."\n" + .'> **InstanceType**取值为**IpAddress**时,即要绑定EIP的实例类型为IP地址时,该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-257gqcdfvx6n****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAssociation.Duplicated', + 'errorMessage' => 'Specified instance already is associated.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified instance is not in VPC.', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'Specified elastic IP address and ECS instance are not in the same region.', + ], + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'Current instance status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified value of InstanceType is not supported.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidBindingStatus', + 'errorMessage' => 'The eip binding status invalid.', + ], + [ + 'errorCode' => 'BIND_INSTANCE_HAVE_PORTMAP_OR_BIND_EIP', + 'errorMessage' => 'The instance may have portMap or already bind eip.', + ], + [ + 'errorCode' => 'EIP_CAN_NOT_ASSOCIATE_WITH_PUBLIC_IP', + 'errorMessage' => 'instance already bind natpublicip,cannot bind eip.', + ], + [ + 'errorCode' => 'BIND_INSTANCE_OWENER_ERROR', + 'errorMessage' => 'Cannot operate the eip.', + ], + [ + 'errorCode' => 'NATGATEWAY_FINANCIALLOCKED', + 'errorMessage' => 'The NatGateway has expire, cannot do bind operation.', + ], + [ + 'errorCode' => 'InvalidParameter.InstanceTypeNotSupport', + 'errorMessage' => 'The specified instance type is not support.', + ], + [ + 'errorCode' => 'QuotaExceeded.NumberOfTrafficEip', + 'errorMessage' => 'The number of traffic eip on natgw exceed limitation.', + ], + [ + 'errorCode' => 'QuotaExceeded.NumberOfEip', + 'errorMessage' => 'Binded eip Quota exceed on this NatGw.', + ], + [ + 'errorCode' => 'Forbidden.EipCanNotBindGatgw', + 'errorMessage' => 'Eip can not bind on natgw.', + ], + [ + 'errorCode' => 'InvalidAction.Denied', + 'errorMessage' => 'Action is denied due to unfinished Eip configuration modification.', + ], + [ + 'errorCode' => 'InstanceType.NotSupport', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'BindInstance.NotSupported', + 'errorMessage' => 'bind instance type %s is not supported.', + ], + [ + 'errorCode' => 'Forbidden.InstanceBandwidthNotZero', + 'errorMessage' => 'Eip can not bind with instance when it\'s bandwidth is not zero.', + ], + [ + 'errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'ServerRegion.Invalid', + 'errorMessage' => 'Eip bind remote server region invalid.', + ], + [ + 'errorCode' => 'Eni.Attached', + 'errorMessage' => 'The eni should be detached from ecs when associating with direct eip.', + ], + [ + 'errorCode' => 'Eni.HasSubIp', + 'errorMessage' => 'Eni has sub ip can not bind direct eip.', + ], + [ + 'errorCode' => 'Invalid.DirectEip.BindType', + 'errorMessage' => 'The direct eip can be only associated with eni.', + ], + [ + 'errorCode' => 'InvalidStatus.EcsStatusNotSupport', + 'errorMessage' => 'The special instance status is not support operate', + ], + [ + 'errorCode' => 'Invalid.Function.NotSupported', + 'errorMessage' => 'Multi-IP function is under test, the region or uid is not supported.', + ], + [ + 'errorCode' => 'InvalidStatus.EniStatusNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidNexthop.DirectEni', + 'errorMessage' => 'The direct Eni cannot be nexthop.', + ], + [ + 'errorCode' => 'Mode.Conflict', + 'errorMessage' => 'The eni can bind only one mode of eip.', + ], + [ + 'errorCode' => 'Mode.NotSupport', + 'errorMessage' => 'The user cannot use multi direct eip.', + ], + [ + 'errorCode' => 'QuotaExceed.MultiBindedEip', + 'errorMessage' => 'The number of multi binded eip is over limit.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'OperationFailed.EniSubIp', + 'errorMessage' => 'Eni has sub ip can not bind direct eip.', + ], + [ + 'errorCode' => 'InvalidEip.EipQuotaExceeded', + 'errorMessage' => 'The specified eni assigned eip is more than privateIp.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCommodityInfo', + 'errorMessage' => 'Operation failed because quey commodity info error.', + ], + [ + 'errorCode' => 'OperationUnsupported.MultiIp', + 'errorMessage' => 'Multi ip function is not support.', + ], + [ + 'errorCode' => 'InvalidNicOrVm.NotFound', + 'errorMessage' => 'Bind nic or vm not exist.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipBindModel', + 'errorMessage' => 'The instance type of ecs does not support MULTI_BINDED model Eip.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EipBindRemote.BackendRegionMustBeSingle', + 'errorMessage' => 'eip bind remote instance, backend region must be single', + ], + [ + 'errorCode' => 'InvalidParameter.BindingInstanceRegion', + 'errorMessage' => 'The specified BindingInstanceRegion is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.HavipBoundPortmap', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Mode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllow', + 'errorMessage' => 'Bind instance status invalid', + ], + [ + 'errorCode' => 'InvalidInstance.NotExist', + 'errorMessage' => 'Bind instance data not exist', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId not exist.', + ], + [ + 'errorCode' => 'ResourceQueryError', + 'errorMessage' => 'The specified resource is queried error.', + ], + [ + 'errorCode' => 'InvalidStatus.InstanceHasBandWidth', + 'errorMessage' => 'The specified instance bandwidth invalid.', + ], + [ + 'errorCode' => 'OperationDenied.CloudBoxResourceExist', + 'errorMessage' => 'The operation is not allowed because there are resources related to the cloud box in VPC.', + ], + [ + 'errorCode' => 'OperationDenied.CloudBoxVSwitchExist', + 'errorMessage' => 'The operation is not allowed because a cloud box type vSwitch exists in VPC.', + ], + [ + 'errorCode' => 'OperationDenied.NoAvailablePrivateIp', + 'errorMessage' => 'The operation is failed because of vSwitch has not availalbe private ip', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.IpAddress', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.Ipv4GatewayNotOpenedInVpc', + 'errorMessage' => 'The operation is failed because Ipv4Gateway is not opened in Vpc.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv4GatewayNotActivatedInVpc', + 'errorMessage' => 'The operation is failed because Ipv4Gateway is not activated in Vpc.', + ], + [ + 'errorCode' => 'OperationDenied.L2EipBindIpAddress', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The eip instance owner error', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'UnsupportedFeature.EipBindIpAddress', + 'errorMessage' => 'The feature of EipBindIpAddress is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.InstanceNotExist', + 'errorMessage' => 'The ECS instance does not exist, or is not a VPC VM.', + ], + [ + 'errorCode' => 'OperationDenied.Ipv4GatewayExist', + 'errorMessage' => 'The operation is not allowed because of Ipv4GatewayExist.', + ], + [ + 'errorCode' => 'OperationFailed.EipBindModeConflict', + 'errorMessage' => 'Eips can not bind Eni with NAT mode and MULTI_BINDED mode at the same time.', + ], + [ + 'errorCode' => 'OperationFailed.EcsMigrating', + 'errorMessage' => 'The operation is failed because of ECS is migrating.', + ], + [ + 'errorCode' => 'OperationFailed.IpPrefixConflict', + 'errorMessage' => 'The operation failed due to the IP prefix of the ENI.', + ], + [ + 'errorCode' => 'UnsupportedFeature.EipBindPrefixIp', + 'errorMessage' => 'The feature of EipBindPrefixIp is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedEipBindMode', + 'errorMessage' => 'The operation is not supported for the NAT gateway due to its EIP binding mode.', + ], + [ + 'errorCode' => 'OperationDenied.Unauthorized', + 'errorMessage' => 'The operation is not allowed because the user is not in the whitelist.', + ], + [ + 'errorCode' => 'OperationFailed.SystemBusy', + 'errorMessage' => 'Operation failed because system is busy.', + ], + [ + 'errorCode' => 'OperationFailed.PrivateIpAddressNotExist', + 'errorMessage' => 'The operation failed because the PrivateIpAddress is not found.', + ], + [ + 'errorCode' => 'IllegalParamFormat.%s', + 'errorMessage' => 'The param format of %s is illegal.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The param of InstanceId can\'t be null or empty.', + ], + [ + 'errorCode' => 'InvalidEniType.SlaveEni', + 'errorMessage' => 'The eni type cannot be slave eni.', + ], + [ + 'errorCode' => 'IllegalParam.PrivateIpAddress', + 'errorMessage' => 'The specified PrivateIpAddress is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found.', + ], + [ + 'errorCode' => 'InvalidInstanId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of InstanceRegionId is not supported.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified instance is not found during access authentication.', + ], + [ + 'errorCode' => 'OperationDenied.VpcIpv4GatewayEnabled', + 'errorMessage' => 'The operation is not allowed because of the VPC of the NAT gateway has opened IPv4 Gateway.', + ], + ], + 503 => [ + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '将EIP绑定到云产品实例', + 'description' => '- EIP实例可绑定到同地域的专有网络类型的ECS实例、专有网络类型的CLB实例、辅助弹性网卡、NAT网关和高可用虚拟IP上。'."\n" + ."\n" + .'- **AssociateEipAddress**接口属于异步接口,即系统会先返回一个请求ID,但EIP实例与云产品实例并未绑定完成,系统后台的绑定任务仍在进行。您可以调用[DescribeEipAddresses](~~120193~~)查询EIP实例的状态:'."\n" + .' - 当EIP实例处于**Associating**状态时,表示EIP实例正在绑定中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当EIP实例处于**InUse**状态时,表示EIP实例绑定完成。'."\n" + .'- **AssociateEipAddress**接口不支持同一个EIP实例并发绑定云产品实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateEipAddressBatch' => [ + 'summary' => '调用AssociateEipAddressBatch接口批量将弹性公网IP(Elastic IP Address,简称EIP)绑定到同地域的云产品实例上。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定云产品实例的EIP所在的地域ID。'."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BindedInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定EIP的云产品实例ID。'."\n" + ."\n" + .'支持输入NAT网关实例ID、辅助弹性网卡实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-hp3akk9irtd69jad****', + ], + ], + [ + 'name' => 'BindedInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定EIP的实例的类型,取值:'."\n" + .'- **Nat**:NAT网关。'."\n" + .'- **NetworkInterface**:辅助弹性网卡。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Nat', + ], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => [ + 'description' => '绑定模式,仅取值为**MULTI_BINDED**,表示多EIP网卡可见模式。'."\n" + ."\n" + .'仅**InstanceType**配置为**NetworkInterface**时,才需要配置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'MULTI_BINDED', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '需要与云产品实例绑定的EIP列表。'."\n" + ."\n" + .'需至少输入1个EIP,最多支持输入50个EIP。', + 'type' => 'array', + 'items' => [ + 'description' => '需要与云产品实例绑定的EIP实例ID。'."\n" + ."\n" + .'需至少输入1个EIP实例的ID,最多支持输入50个EIP实例的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-2zeerraiwb7ujsxdc**** ', + ], + 'required' => true, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定云产品实例的EIP所在的地域ID。'."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAssociation.Duplicated', + 'errorMessage' => 'Specified instance already is associated.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified instance is not in VPC.', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'Specified elastic IP address and ECS instance are not in the same region.', + ], + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'Current instance status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified value of InstanceType is not supported.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The eip instance owener error', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidBindingStatus', + 'errorMessage' => 'The eip binding status invalid.', + ], + [ + 'errorCode' => 'BIND_INSTANCE_HAVE_PORTMAP_OR_BIND_EIP', + 'errorMessage' => 'The instance may have portMap or already bind eip.', + ], + [ + 'errorCode' => 'EIP_CAN_NOT_ASSOCIATE_WITH_PUBLIC_IP', + 'errorMessage' => 'instance already bind natpublicip,cannot bind eip.', + ], + [ + 'errorCode' => 'BIND_INSTANCE_OWENER_ERROR', + 'errorMessage' => 'Cannot operate the eip.', + ], + [ + 'errorCode' => 'NATGATEWAY_FINANCIALLOCKED', + 'errorMessage' => 'The NatGateway has expire, cannot do bind operation.', + ], + [ + 'errorCode' => 'InvalidParameter.InstanceTypeNotSupport', + 'errorMessage' => 'The specified instance type is not support.', + ], + [ + 'errorCode' => 'QuotaExceeded.NumberOfTrafficEip', + 'errorMessage' => 'The number of traffic eip on natgw exceed limitation.', + ], + [ + 'errorCode' => 'QuotaExceeded.NumberOfEip', + 'errorMessage' => 'Binded eip Quota exceed on this NatGw.', + ], + [ + 'errorCode' => 'InvalidEipBandwidth.OutOfMaxValue', + 'errorMessage' => 'The Eip Bandwidth is invalid.', + ], + [ + 'errorCode' => 'Forbidden.EipCanNotBindGatgw', + 'errorMessage' => 'Eip can not bind on natgw.', + ], + [ + 'errorCode' => 'InvalidAction.Denied', + 'errorMessage' => 'Action is denied due to unfinished Eip configuration modification.', + ], + [ + 'errorCode' => 'InstanceType.NotSupport', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'BindInstance.NotSupported', + 'errorMessage' => 'bind instance type %s is not supported.', + ], + [ + 'errorCode' => 'Forbidden.InstanceBandwidthNotZero', + 'errorMessage' => 'Eip can not bind with instance when it\'s bandwidth is not zero.', + ], + [ + 'errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'ServerRegion.Invalid', + 'errorMessage' => 'Eip bind remote server region invalid.', + ], + [ + 'errorCode' => 'Eni.Attached', + 'errorMessage' => 'The eni should be detached from ecs when associating with direct eip.', + ], + [ + 'errorCode' => 'Invalid.DirectEip.BindType', + 'errorMessage' => 'The direct eip can be only associated with eni.', + ], + [ + 'errorCode' => 'Invalid.Function.NotSupported', + 'errorMessage' => 'Multi-IP function is under test, the region or uid is not supported.', + ], + [ + 'errorCode' => 'InvalidStatus.EniStatusNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => '%s', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EipBatchBind.TypeNotSupport', + 'errorMessage' => 'eip batch bind type not support', + ], + [ + 'errorCode' => 'OperationFailed.RegionNotMatch', + 'errorMessage' => 'The specified eip is not in this region', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.Unauthorized', + 'errorMessage' => 'The operation is not allowed because the user is not in the whitelist.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedEipBindMode', + 'errorMessage' => 'The operation is not supported for the NAT gateway due to its EIP binding mode.', + ], + [ + 'errorCode' => 'OperationDenied.Ipv4GatewayExist', + 'errorMessage' => 'The operation is not allowed because of Ipv4GatewayExist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found.', + ], + [ + 'errorCode' => 'InvalidInstanId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of InstanceRegionId is not supported.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified instance is not found during access authentication.', + ], + [ + 'errorCode' => 'OperationDenied.VpcIpv4GatewayEnabled', + 'errorMessage' => 'The operation is not allowed because of the VPC of the NAT gateway has opened IPv4 Gateway.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeEipAddresses', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '批量绑定EIP到云产品实例', + 'description' => '- **AssociateEipAddressBatch**用于批量绑定EIP到云产品实例,仅支持批量绑定EIP到同地域的NAT网关实例或辅助弹性网卡实例。EIP绑定其他云产品实例,请参见[AssociateEipAddress](~~120195~~)。'."\n" + .'- **AssociateEipAddressBatch**接口属于异步接口,即系统会先返回一个请求ID,但EIP实例与云产品实例并未批量绑定完成,系统后台的绑定任务仍在进行。您可以调用[DescribeEipAddresses](~~120193~~)查询EIP实例的状态:'."\n" + .' - 当EIP实例处于**Associating**状态时,表示EIP实例正在绑定中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当EIP实例处于**InUse**状态时,表示EIP实例绑定完成。'."\n" + .'- **AssociateEipAddressBatch**接口不支持同一个EIP实例并发绑定云产品实例。', + ], + 'UnassociateEipAddress' => [ + 'summary' => '调用UnassociateEipAddress将弹性公网IP(EIP)从绑定的云产品上解绑。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '当EIP绑定了NAT网关,且NAT网关添加了DNAT或SNAT条目时,是否强制解绑EIP,取值:'."\n" + ."\n" + .'- **false**(默认值):不强制解绑EIP。'."\n" + ."\n" + .'- **true**:强制解绑EIP。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的EIP的地域ID。'."\n" + .' 您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 要解绑的EIP的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zeerraiwb7uj6i0d****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑EIP的云产品实例的ID。'."\n" + .'支持输入NAT网关实例ID、传统型负载均衡CLB实例ID、云服务器ECS实例ID、辅助弹性网卡实例ID、高可用虚拟IP实例ID、IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-hp3akk9irtd69jad****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑EIP的云产品类型,取值: '."\n" + ."\n" + .'- **EcsInstance**(默认值):专有网络类型的ECS实例。 '."\n" + ."\n" + .'- **SlbInstance**:专有网络类型的SLB实例。 '."\n" + ."\n" + .'- **NetworkInterface**:专有网络类型的辅助弹性网卡。'."\n" + ."\n" + .'- **Nat**:NAT网关。 '."\n" + ."\n" + .'- **HaVip**:高可用虚拟IP。'."\n" + .'- **IpAddress**:IP 地址。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsInstance', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑EIP的ECS实例或辅助弹性网卡实例的私网IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.XX.XX.2', + ], + ], + [ + '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-11**** ', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified value of InstanceType is not supported.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Eip of default vpc not allow this operation', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidBindingStatus', + 'errorMessage' => 'The eip binding status invalid.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'InvalidIpStatus.HasBeenUsedBySnatTable', + 'errorMessage' => 'The removed ip address has been used by snat table.', + ], + [ + 'errorCode' => 'InvalidIpStatus.HasBeenUsedByForwardEntry', + 'errorMessage' => 'The specified address has been used by forwardTable.', + ], + [ + 'errorCode' => 'Eni.Attached', + 'errorMessage' => 'The eni should be detached from ecs when associating with direct eip.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'InvalidStatus.EcsStatusNotSupport', + 'errorMessage' => 'The special instance status Pending is not support operate', + ], + [ + 'errorCode' => 'InvalidStatus.EniStatusNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.SnatOrDnat', + 'errorMessage' => 'Operation failed because snat or dnat in unstable status.', + ], + [ + 'errorCode' => 'DependencyViolation.SnatEntry', + 'errorMessage' => 'The specified eip is in ip pool.', + ], + [ + 'errorCode' => '%s', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllow', + 'errorMessage' => 'Bind instance status invalid', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The eip instance owener error', + ], + [ + 'errorCode' => 'InvalidLoadBalancerId.NotFound', + 'errorMessage' => 'LoadBalancerId does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.SystemBusy', + 'errorMessage' => 'Operation failed because system is busy.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found', + ], + [ + 'errorCode' => 'InvalidBindInstance.NotFound', + 'errorMessage' => 'The specified bind instance does not exist.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '将EIP从云产品解绑', + 'description' => '- **UnassociateEipAddress**接口属于异步接口,即系统会先返回一个请求ID,但EIP并未完成解绑,系统后台的解绑任务仍在进行。您可以调用[DescribeEipAddresses](~~120193~~)查询EIP的状态: '."\n" + .' - 当EIP处于**Unassociating**状态时,表示EIP正在解绑中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当EIP处于**Available**时,表示EIP完成解绑。'."\n" + .'- **UnassociateEipAddress**接口不支持并发解绑同一个EIP。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreatePublicIpAddressPool' => [ + 'summary' => '调用CreatePublicIpAddressPool接口创建IP地址池。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => [ + 'description' => '线路类型。取值:'."\n" + ."\n" + .'- **BGP**(默认值):BGP(多线)线路。'."\n" + ."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。'."\n" + ."\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'- 如果您是单线带宽的白名单用户,您还可以选择以下类型:'."\n" + .' - **ChinaTelecom**:中国电信'."\n" + .' - **ChinaUnicom**:中国联通'."\n" + .' - **ChinaMobile**:中国移动'."\n" + .' - **ChinaTelecom_L2**:中国电信L2'."\n" + .' - **ChinaUnicom_L2**:中国联通L2'."\n" + .' - **ChinaMobile_L2**:中国移动L2'."\n" + .'- 如果您是杭州金融云用户,该字段必填,取值:**BGP_FinanceCloud**。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '地址池实例的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'AddressPoolName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '地址池实例的描述。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'AddressPoolDescription', + ], + ], + [ + '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-11****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建IP地址池。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4pcdvf****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的IP地址池所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'BizType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池的业务类型。取值:'."\n" + .'- **CloudBox**:云盒。仅云盒用户支持选择该类型。'."\n" + .'- **Default**(默认值):默认,表示非特殊类型。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'Zones', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'IP地址池的可用区。'."\n" + .'仅**BizType**取值为**CloudBox**,即IP地址池业务类型为云盒时,需要填写该参数。', + 'type' => 'array', + 'items' => [ + 'description' => 'IP地址池的可用区。'."\n" + .'仅**BizType**取值为**CloudBox**,即IP地址池业务类型为云盒时,需要填写该参数。'."\n" + .'目前仅支持传入1个可用区。', + 'type' => 'string', + 'required' => false, + 'example' => 'ap-southeast-1-lzdvn-cb', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'SecurityProtectionTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'array', + 'items' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'string', + 'required' => false, + 'example' => 'AntiDDoS_Enhanced', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'PulbicIpAddressPoolId' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'ResourceGroupId' => [ + 'description' => 'IP地址池所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4pcdvf****', + ], + 'PublicIpAddressPoolId' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Isp', + 'errorMessage' => 'The param of Isp [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The param of Name [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'The param of Description [%s] is illegal.', + ], + [ + 'errorCode' => 'Forbidden.CreatePublicIpAddressPool', + 'errorMessage' => 'Authentication is failed for creating public ip address pool.', + ], + [ + 'errorCode' => 'QuotaExceeded.PublicIpAddressPool', + 'errorMessage' => 'The quota of PublicIpAddressPool is exceeded.', + ], + [ + 'errorCode' => 'MissingParam.Zones', + 'errorMessage' => 'The Zones parameter is required.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'IllegalParam.Zones', + 'errorMessage' => 'The values of Zones [%s] are invalid.', + ], + [ + 'errorCode' => 'IllegalParamSize.Zones', + 'errorMessage' => 'An invalid number of zones is specified.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Isp', + 'errorMessage' => 'The feature of Isp is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.ISPNotSupportDdosEnhanced', + 'errorMessage' => 'The operation is not allowed because of DdosEnhanced is not supported by current isp.', + ], + [ + 'errorCode' => 'IllegalParam.SecurityProtectionTypes', + 'errorMessage' => 'The param of securityProtectionTypes is illegal.', + ], + [ + 'errorCode' => 'IncorrectBusinessStatus.PublicIpAddressPool', + 'errorMessage' => 'The business status of publicIpAddressPool is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.PublicIpAddressPool', + 'errorMessage' => 'You are not authorized to use the requested service of publicIpAddressPool. Ensure that you have subscribed to the service you are trying to use.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PulbicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4pcdvf****\\",\\n \\"PublicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n pippool-6wetvn6fumkgycssx****\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n rg-acfmxazb4pcdvf****\\n pippool-6wetvn6fumkgycssx****\\n","errorExample":""}]', + 'title' => '创建IP地址池', + 'description' => 'IP地址池功能默认不开放。如需使用,请在配额中心申请**IP地址池功能**权益配额。具体操作,请参见[通过配额中心提升配额](~~108213~~)。', + ], + 'OpenPublicIpAddressPoolService' => [ + 'summary' => '调用OpenPublicIpAddressPoolService接口开通IP地址池功能。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => false, + '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' => '123e4567-e89b-12d3-a456-426655442455', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '28CF47AB-B6C0-5FA2-80C7-2B37726A92CB', + ], + 'Code' => [ + 'description' => '状态码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'IP地址池开通成功返回的信息。', + 'type' => 'string', + 'example' => 'successful', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ExceedPurchaseLimit', + 'errorMessage' => 'You have reached the limit of purchase quantity.', + ], + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource', + ], + [ + 'errorCode' => 'OperationFailed.QuotaNotEnough', + 'errorMessage' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', + ], + [ + 'errorCode' => 'Order.NoRealNameAuthentication', + 'errorMessage' => 'Real-name verification has not been completed for the account.', + ], + [ + 'errorCode' => 'OperationFailed.BasicInfoUncompleted', + 'errorMessage' => 'You have not completed your basic personal information, please complete the information and try again.', + ], + [ + 'errorCode' => 'Forbidden.OpenPublicIpAddressPool', + 'errorMessage' => 'Authentication is failed for opening public ip address pool. Please apply for permission at the quota center.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"28CF47AB-B6C0-5FA2-80C7-2B37726A92CB\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]', + 'title' => '开通IP地址池功能', + 'description' => '- **OpenPublicIpAddressPoolService**接口不支持在同一个阿里云账号(主账号)并发开通IP地址池功能。'."\n" + ."\n" + .'- 您可以调用GetPublicIpAddressPoolServiceStatu接口查询IP地址池功能的开通状态。', + ], + 'AddPublicIpAddressPoolCidrBlock' => [ + 'summary' => '调用AddPublicIpAddressPoolCidrBlock接口将IP地址网段添加至IP地址池。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'IP地址网段。'."\n" + .'>不支持同时配置**CidrBlock**与**CidrMask**,请选择其中一个进行配置。', + 'type' => 'string', + 'required' => false, + 'example' => '47.0.XX.XX/24', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会添加网段。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要添加网段的IP地址池所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'CidrMask', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'IP地址网段掩码。'."\n" + .'输入掩码后,系统会自动分配IP地址网段。'."\n" + ."\n" + .'取值范围:**24**~**28**。'."\n" + ."\n" + .'>不支持同时配置**CidrBlock**与**CidrMask**,请选择其中一个进行配置。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '24', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'CidrBlock' => [ + 'description' => 'IP地址段。', + 'type' => 'string', + 'example' => '47.0.XX.XX/28', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The param of CidrBlock [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlockMask', + 'errorMessage' => 'The param of CidrBlock Mask [%s] is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.PublicIpAddressPool', + 'errorMessage' => 'The status of PublicIpAddressPool [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.CidrBlockBelongToOtherUser', + 'errorMessage' => 'The operation is not allowed because of CidrBlock belong to other user.', + ], + [ + 'errorCode' => 'ResourceNotFound.PublicIpAddressPool', + 'errorMessage' => 'The specified resource ofPublicIpAddressPool [%s] is not found.', + ], + [ + 'errorCode' => 'QuotaExceeded.PoolIpQuantity', + 'errorMessage' => 'The quota of PoolIpQuantity is exceeded.', + ], + [ + 'errorCode' => 'OperationDenied.OperateSharedResource', + 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', + ], + [ + 'errorCode' => 'MissingParam.CidrBlockOrCidrMask', + 'errorMessage' => 'CidrBlock or CidrMask is not specified.', + ], + [ + 'errorCode' => 'DuplicatedParam.CidrBlockAndCidrMask', + 'errorMessage' => 'CidrBlock and CidrMask cannot be specified at the same time.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The instance is locked due to outstanding payments.', + ], + [ + 'errorCode' => 'ResourceNotEnough.CidrBlock', + 'errorMessage' => 'The specified resource is not enough.', + ], + [ + 'errorCode' => 'MissingParam.PublicIpAddressPoolId', + 'errorMessage' => 'The parameter PublicIpAddressPoolId is missing.', + ], + [ + 'errorCode' => 'OperationFailed.ResourceNotEnough', + 'errorMessage' => 'Insufficient resources.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPoolCidrBlocks', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 3, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"CidrBlock\\": \\"47.0.XX.XX/28\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '为IP地址池添加IP地址段', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + .'- IP地址网段和IP地址池需属于同一地域。'."\n" + .'- IP地址网段和IP地址池需属于同一ISP线路类型。'."\n" + .'- **AddPublicIpAddressPoolCidrBlock**接口属于异步接口,即系统会先返回一个请求ID,但IP地址网段并未添加完成,系统后台的添加任务仍在进行。您可以调用[ListPublicIpAddressPoolCidrBlocks](~~429436~~)查询IP地址池中IP地址网段的状态。'."\n" + .' - 当IP地址网段处于**Modifying**状态时,表示IP地址网段正在添加中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当IP地址网段处于**Created**状态时,表示IP地址网段添加完成。'."\n" + .'- **AddPublicIpAddressPoolCidrBlock**接口不支持并发添加同一个IP地址网段至IP地址池。', + ], + 'TransformEipSegmentToPublicIpAddressPool' => [ + 'summary' => '将连续EIP组迁移至IP地址池。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '要进行迁移的连续EIP组的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eipsg-2zett8ba055tbsxme****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '连续EIP组所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '地址池实例的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'AddressPoolName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '地址池实例的描述。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'AddressPoolDescription', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4pcdvf****', + ], + ], + [ + '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-11****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PublicIpAddressPoolId' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + 'ResourceGroupId' => [ + 'description' => 'IP地址池所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4pcdvf****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The param of Name [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'The param of Description [%s] is illegal.', + ], + [ + 'errorCode' => 'Forbidden.CreatePublicIpAddressPool', + 'errorMessage' => 'Authentication is failed for creating public ip address pool.', + ], + [ + 'errorCode' => 'QuotaExceeded.PublicIpAddressPool', + 'errorMessage' => 'The quota of PublicIpAddressPool is exceeded.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature is not supported in current region.', + ], + [ + 'errorCode' => 'IncorrectBusinessStatus.PublicIpAddressPool', + 'errorMessage' => 'The business status of publicIpAddressPool is incorrect.', + ], + [ + 'errorCode' => 'OptInRequired.PublicIpAddressPool', + 'errorMessage' => 'You are not authorized to use the requested service of publicIpAddressPool. Ensure that you have subscribed to the service you are trying to use.', + ], + [ + 'errorCode' => 'QuotaExceeded.PoolIpQuantity', + 'errorMessage' => 'The quota of PoolIpQuantity is exceeded.', + ], + [ + 'errorCode' => 'ResourceNotFound.EipSegment', + 'errorMessage' => 'The specified resource of Eip Segment is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPools', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PublicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4pcdvf****\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', + 'title' => '连续EIP组迁移至IP地址池', + ], + 'DeletePublicIpAddressPool' => [ + 'summary' => '调用DeletePublicIpAddressPool接口删除IP地址池。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe60000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除地址池。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的IP地址池所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.PublicIpAddressPool', + 'errorMessage' => 'The status of PublicIpAddressPool [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceInUse.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is in use.', + ], + [ + 'errorCode' => 'OperationFailed.ResourceIsShared', + 'errorMessage' => 'The operation is failed because of PublicIpAddressPool is shared with other users.', + ], + [ + 'errorCode' => 'OperationDenied.OperateSharedResource', + 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', + ], + [ + 'errorCode' => 'ResourceNotFound.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPools', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '删除IP地址池', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + .'- 删除IP地址池前,请确保该地址池内的IP地址没有被使用。'."\n" + .'- **DeletePublicIpAddressPool**接口属于异步接口,即系统会先返回一个请求ID,但IP地址池并未删除完成,系统后台的删除任务仍在进行。您可以调用[ListPublicIpAddressPools](~~429433~~)查询IP地址池的状态。 '."\n" + ."\n" + .' - 当IP地址池处于**Deleting**状态时,表示IP地址池正在删除中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当查询不到该IP地址池时,表示IP地址池删除完成。'."\n" + ."\n" + .'- **DeletePublicIpAddressPool**接口不支持并发删除同一个IP地址池。', + ], + 'DeletePublicIpAddressPoolCidrBlock' => [ + 'summary' => '调用DeletePublicIpAddressPoolCidrBlock接口将IP地址网段从IP地址池中删除。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址网段。', + 'type' => 'string', + 'required' => true, + 'example' => '47.0.XX.XX/24', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除IP地址网段。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除IP地址网段的IP地址池所在的地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The param of CidrBlock [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlockMask', + 'errorMessage' => 'The param of CidrBlock Mask [%s] is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.PublicIpAddressPool', + 'errorMessage' => 'The status of PublicIpAddressPool [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.CidrBlock', + 'errorMessage' => 'The specified resource of CidrBlock [%s] is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.CidrBlock', + 'errorMessage' => 'The status of CidrBlock [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceInUse.CidrBlock', + 'errorMessage' => 'The specified resource of CidrBlock [%s] is in use.', + ], + [ + 'errorCode' => 'OperationDenied.OperateSharedResource', + 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', + ], + [ + 'errorCode' => 'MissingParam.PublicIpAddressPoolId', + 'errorMessage' => 'The parameter PublicIpAddressPoolId is missing.', + ], + [ + 'errorCode' => 'MissingParam.CidrBlockOrCidrMask', + 'errorMessage' => 'CidrBlock or CidrMask is not specified.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPoolCidrBlocks', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '将IP地址段从IP地址池中删除', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + .'- 删除IP地址网段前,请确保该IP地址网段没有被使用。'."\n" + .'- **DeletePublicIpAddressPoolCidrBlock**接口属于异步接口,即系统会先返回一个请求ID,但IP地址网段并未删除完成,系统后台的删除任务仍在进行。您可以调用[ListPublicIpAddressPoolCidrBlocks](~~429436~~)查询IP地址池中IP地址网段的状态。 '."\n" + .' - 当IP地址网段处于**Deleting**状态时,表示IP地址网段正在删除中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当查询不到该IP地址网段时,表示IP地址网段删除完成。'."\n" + .'- **DeletePublicIpAddressPoolCidrBlock**接口不支持并发删除同一个IP地址网段。', + ], + 'UpdatePublicIpAddressPoolAttribute' => [ + 'summary' => '调用UpdatePublicIpAddressPoolAttribute接口修改地址池属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '地址池实例的名称。'."\n" + ."\n" + .'名称长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'AddressPoolName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '地址池实例的描述。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'AddressPoolDescription', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改地址池属性。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的IP地址池所在的地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Name ', + 'errorMessage' => 'The param of Name [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'The param of Description [%s] is illegal.', + ], + [ + 'errorCode' => 'ResourceNotFound.PublicIpAddressPool', + 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is not found.', + ], + [ + 'errorCode' => 'OperationDenied.OperateSharedResource', + 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '修改地址池属性', + 'description' => '**UpdatePublicIpAddressPoolAttribute**接口不支持并发修改同一个地址池的属性。', + ], + 'ListPublicIpAddressPools' => [ + 'summary' => '调用ListPublicIpAddressPools接口查询可使用的IP地址池信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PublicIpAddressPoolIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'IP地址池的实例ID列表。'."\n" + ."\n" + .'您最多可输入100个IP地址池的实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'IP地址池的实例ID列表。'."\n" + ."\n" + .'您最多可输入100个IP地址池的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + 'required' => false, + 'maxItems' => 100, + 'minItems' => 0, + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池实例状态。取值:'."\n" + .'- **Created**:可用。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Created', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '本次读取的最大数据记录数量。取值范围:**10**~**100**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => [ + 'description' => '线路类型。取值:'."\n" + ."\n" + .'- **BGP**(默认值):BGP(多线)线路。'."\n" + ."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。'."\n" + ."\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'如果您是单线带宽的白名单用户,您还可以选择以下类型:'."\n" + .'- **ChinaTelecom**:中国电信'."\n" + .'- **ChinaUnicom**:中国联通'."\n" + .'- **ChinaMobile**:中国移动'."\n" + .'- **ChinaTelecom_L2**:中国电信L2'."\n" + .'- **ChinaUnicom_L2**:中国联通L2'."\n" + .'- **ChinaMobile_L2**:中国移动L2'."\n" + ."\n" + .'如果您是杭州金融云用户,该字段必填,取值:**BGP_FinanceCloud**。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '地址池实例的名称。'."\n" + ."\n" + .'名称长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'AddressPoolName', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会查询可使用的IP地址池信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4pcdvf****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IP地址池所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 '."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'SecurityProtectionEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启DDoS防护(增强版)。取值:'."\n" + .'- **false**:不开启。'."\n" + .'- **true**:开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '本次请求条件下的数据总量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PublicIpAddressPoolList' => [ + 'description' => 'IP地址池的实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IP地址池的实例结构体。', + 'type' => 'object', + 'properties' => [ + 'PublicIpAddressPoolId' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + 'RegionId' => [ + 'description' => '要查询的IP地址池所在的地域ID。'."\n", + 'type' => 'string', + 'example' => 'cn-chengdu', + ], + 'CreationTime' => [ + 'description' => '创建时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-05-10T01:37:38Z', + ], + 'Isp' => [ + 'description' => '线路类型。'."\n" + ."\n" + .'- **BGP**:BGP(多线)线路。'."\n" + ."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。'."\n" + ."\n" + .'关于BGP(多线)线路和BGP(多线)_精品线路的更多信息,请参见[EIP线路类型](~~32321~~)。'."\n" + ."\n" + .'如果您是单线带宽的白名单用户,返回类型还可能为:'."\n" + .'- **ChinaTelecom**:中国电信'."\n" + .'- **ChinaUnicom**:中国联通'."\n" + .'- **ChinaMobile**:中国移动'."\n" + .'- **ChinaTelecom_L2**:中国电信L2'."\n" + .'- **ChinaUnicom_L2**:中国联通L2'."\n" + .'- **ChinaMobile_L2**:中国移动L2'."\n" + ."\n" + .'如果您是杭州金融云用户,返回**BGP_FinanceCloud**。', + 'type' => 'string', + 'example' => 'BGP', + ], + 'Name' => [ + 'description' => 'IP地址池实例的名称。'."\n", + 'type' => 'string', + 'example' => 'AddressPoolName', + ], + 'Status' => [ + 'description' => 'IP地址池实例状态。'."\n" + .'- **Created**:可用。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'Description' => [ + 'description' => 'IP地址池实例的描述。', + 'type' => 'string', + 'example' => 'AddressPoolDescription', + ], + 'TotalIpNum' => [ + 'description' => '公网IP地址池可用IP地址总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'UsedIpNum' => [ + 'description' => '公网IP地址池已用IP地址数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'IpAddressRemaining' => [ + 'description' => '是否还有空闲的IP地址。'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'UserType' => [ + 'description' => '用户的类型。取值:'."\n" + .'- **admin**:管理员,表示可以删除、修改、查询IP地址池以及为IP地址池分配弹性公网IP(Elastic IP Address,简称EIP)等操作。'."\n" + .'- **user**:普通用户,表示只能为IP地址池分配EIP以及查询IP地址池,但是无法修改以及删除IP地址池。', + 'type' => 'string', + 'example' => 'admin', + ], + 'OwnerId' => [ + 'description' => 'IP地址池所属的阿里云账号(主账号)。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '121012345612*****', + ], + 'ShareType' => [ + 'description' => 'IP地址池的共享类型。'."\n" + ."\n" + .'- **Shared**:表示该IP地址池为共享的IP地址池。'."\n" + .'- 空:表示该IP地址池不是共享的IP地址池。', + 'type' => 'string', + 'example' => 'Shared', + ], + 'ResourceGroupId' => [ + 'description' => 'IP地址池所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4pcdvf****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + ], + ], + ], + 'BizType' => [ + 'description' => 'IP地址池的业务类型。'."\n" + .'- **CloudBox**:云盒。仅云盒用户支持该类型。'."\n" + .'- **Default**(默认值):默认,表示非特殊类型。', + 'type' => 'string', + 'example' => 'CloudBox', + ], + 'Zones' => [ + 'description' => 'IP地址池的可用区。'."\n" + .'仅当IP地址池业务类型为云盒时,返回该参数。', + 'type' => 'array', + 'items' => [ + 'description' => 'IP地址池的可用区。'."\n" + .'仅当IP地址池业务类型为云盒时,返回该参数。', + 'type' => 'string', + 'example' => 'ap-southeast-1-lzdvn-cb', + ], + ], + 'SecurityProtectionTypes' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'array', + 'items' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。', + 'type' => 'string', + 'example' => 'AntiDDoS_Enhanced', + ], + ], + 'BusinessStatus' => [ + 'description' => 'IP地址池实例的业务状态。'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + .'- **FinancialLocked**:被锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Isp', + 'errorMessage' => 'The param of Isp [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1,\\n \\"PublicIpAddressPoolList\\": [\\n {\\n \\"PublicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\",\\n \\"RegionId\\": \\"cn-chengdu\\",\\n \\"CreationTime\\": \\"2022-05-10T01:37:38Z\\",\\n \\"Isp\\": \\"BGP\\",\\n \\"Name\\": \\"AddressPoolName\\",\\n \\"Status\\": \\"Created\\",\\n \\"Description\\": \\"AddressPoolDescription\\",\\n \\"TotalIpNum\\": 100,\\n \\"UsedIpNum\\": 20,\\n \\"IpAddressRemaining\\": true,\\n \\"UserType\\": \\"admin\\",\\n \\"OwnerId\\": 0,\\n \\"ShareType\\": \\"Shared\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4pcdvf****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceDept\\"\\n }\\n ],\\n \\"BizType\\": \\"CloudBox\\",\\n \\"Zones\\": [\\n \\"ap-southeast-1-lzdvn-cb\\"\\n ],\\n \\"SecurityProtectionTypes\\": [\\n \\"AntiDDoS_Enhanced\\"\\n ],\\n \\"BusinessStatus\\": \\"Normal\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 1\\n \\n pippool-6wetvn6fumkgycssx****\\n cn-chengdu\\n 2022-05-10T01:37:38Z\\n BGP\\n AddressPoolName\\n Created\\n AddressPoolDescription\\n 100\\n 20\\n true\\n false\\n Shared\\n rg-acfmxazb4pcdvf****\\n \\n FinanceDept\\n FinanceDept\\n \\n CloudBox\\n ap-southeast-1-lzdvn-cb\\n \\n","errorExample":""}]', + 'title' => '查询IP地址池信息', + 'description' => "\n" + ."\n", + ], + 'ListPublicIpAddressPoolCidrBlocks' => [ + 'summary' => '调用ListPublicIpAddressPoolCidrBlocks接口查询IP地址池中的IP地址网段信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PublicIpAddressPoolId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址网段。', + 'type' => 'string', + 'required' => false, + 'example' => '47.0.XX.XX/24', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '本次读取的最大数据记录数量,取值范围:**10**~**100**,默认为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会查询IP地址池中的IP地址网段信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IP地址网段所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '本次请求条件下的数据总量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PublicIpPoolCidrBlockList' => [ + 'description' => 'IP地址池的IP地址网段数据列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IP地址池的IP地址网段结构体。', + 'type' => 'object', + 'properties' => [ + 'PublicIpAddressPoolId' => [ + 'description' => 'IP地址池的实例ID。', + 'type' => 'string', + 'example' => 'pippool-6wetvn6fumkgycssx****', + ], + 'CidrBlock' => [ + 'description' => 'IP地址段。', + 'type' => 'string', + 'example' => '47.0.XX.XX/24', + ], + 'CreationTime' => [ + 'description' => '创建时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-05-10T01:37:38Z', + ], + 'Status' => [ + 'description' => 'IP地址池中的IP地址网段状态。取值:'."\n" + .'- **Created**:可用。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'UsedIpNum' => [ + 'description' => 'IP地址池中IP地址网段的已用IP地址数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TotalIpNum' => [ + 'description' => 'IP地址池中IP地址网段的可用IP地址总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + [ + 'errorCode' => 'MissingParam.PublicIpAddressPoolId', + 'errorMessage' => 'The parameter PublicIpAddressPoolId is missing.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 10,\\n \\"PublicIpPoolCidrBlockList\\": [\\n {\\n \\"PublicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\",\\n \\"CidrBlock\\": \\"47.0.XX.XX/24\\",\\n \\"CreationTime\\": \\"2022-05-10T01:37:38Z\\",\\n \\"Status\\": \\"Created\\",\\n \\"UsedIpNum\\": 20,\\n \\"TotalIpNum\\": 20\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 10\\n 10\\n \\n pippool-6wetvn6fumkgycssx****\\n 47.0.XX.XX/24\\n 2022-05-10T01:37:38Z\\n Created\\n 20\\n 20\\n \\n","errorExample":""}]', + 'title' => '查询IP地址池的地址段信息', + ], + 'GetPublicIpAddressPoolServiceStatus' => [ + 'summary' => '调用GetPublicIpAddressPoolServiceStatus接口查询IP地址池功能的开通状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + '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-426655442455', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP地址池所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-06F82A1B457', + ], + 'Enabled' => [ + 'description' => 'IP地址池功能是否开通。取值:'."\n" + ."\n" + .'- **true**:已开通。'."\n" + ."\n" + .'- **false**:未开通。您可以调用OpenPublicIpAddressPoolService接口开通IP地址池功能。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'The user is not authorized to operate on the specified resource, or the API operation does not support RAM.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-06F82A1B457\\",\\n \\"Enabled\\": true\\n}","type":"json"}]', + 'title' => '查询IP地址池功能的开通状态', + ], + 'DescribeEipMonitorData' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP所属地域ID。'."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eip-2zeerraiwb7uj6idcfv****', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取数据的起始时间。使用UTC时间。按照ISO8601标准,格式为`YYYY-MM-DDThh:mm:ssZ`。例如,北京时间2013年01月10日20点00分00秒,表示为`2013-01-10T12:00:00Z`。'."\n" + ."\n" + .'如果不是整分,则自动取下一分钟为起始时间点。 ', + 'type' => 'string', + 'required' => true, + 'example' => '2020-01-05T01:05:05Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取数据的结束时间。使用UTC时间。按照ISO8601标准,格式为`YYYY-MM-DDThh:mm:ssZ`。例如,北京时间2013年01月10日20点00分00秒,表示为`2013-01-10T12:00:00Z`。'."\n" + ."\n" + .'如果不是整分,则自动取下一分钟为结束时间点。 ', + 'type' => 'string', + 'required' => true, + 'example' => '2020-01-05T03:05:10Z', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '每条监控数据的时间长度。单位:秒。取值:**60**(默认值) 、**300** 、 **900** 或 **3600**。'."\n" + .'- 如果(**EndTime**–**StartTime**)/ **Period**小于等于400,可正常返回起始时间点到结束时间点的所有监控数据。'."\n" + .'- 如果(**EndTime**–**StartTime**)/ **Period**大于400,无法正常返回监控数据。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + 'default' => '60', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9', + ], + 'EipMonitorDatas' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EipMonitorData' => [ + 'description' => 'EIP监控数据的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'EIP监控数据的详细信息。', + 'type' => 'object', + 'properties' => [ + 'EipTX' => [ + 'description' => '流出的流量。单位:Byte。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '343', + ], + 'EipPackets' => [ + 'description' => '包数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3434', + ], + 'EipBandwidth' => [ + 'description' => '平均带宽值,该值等于**EipFlow**/**Period**。单位:Byte/s。'."\n" + ."\n" + .'其中**Period**默认值为**60**,单位为秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TimeStamp' => [ + 'description' => '查询监控信息的时间戳。ISO8601格式,如`2020-01-21T09:50:23Z`。', + 'type' => 'string', + 'example' => '2020-01-21T09:50:23Z', + ], + 'EipFlow' => [ + 'description' => '流入和流出的流量总和。单位:Byte。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '465', + ], + 'EipRX' => [ + 'description' => '流入的流量。单位:Byte。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '122', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.TooMany', + 'errorMessage' => 'monitor parameter too many data required.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified parameter "StartTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Period" is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.TooEarly', + 'errorMessage' => 'The specified parameter "StartTime" is too early.', + ], + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation id is not found.', + ], + [ + 'errorCode' => 'OperationDenied.TooManyDataQueried', + 'errorMessage' => 'Specified operation is denied as too many data to return.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidIpInstanceId.NotFound', + 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"EipMonitorDatas\\": {\\n \\"EipMonitorData\\": [\\n {\\n \\"EipTX\\": 343,\\n \\"EipPackets\\": 3434,\\n \\"EipBandwidth\\": 10,\\n \\"TimeStamp\\": \\"2020-01-21T09:50:23Z\\",\\n \\"EipFlow\\": 465,\\n \\"EipRX\\": 122\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n \\n 343\\n 3434\\n 10\\n 2020-01-21T09:50:23Z\\n 465\\n 122\\n \\n","errorExample":""}]', + 'title' => '查看EIP的监控信息', + 'summary' => '调用DescribeEipMonitorData接口查看弹性公网IP(Elastic IP Address,简称EIP)的监控信息,最多查询31天内的数据,单次最多查询400个流量点的数据。', + 'description' => '为了提供更好的获取监控数据接口体验,建议您使用云监控(CloudMonitor)提供的统一接口DescribeMetricList查询EIP相关数据。更多信息,请参见[DescribeMetricList](~~51936~~)和[弹性公网IP相关数据](~~162874~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SetHighDefinitionMonitorLogStatus' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'LogProject', + 'in' => 'query', + 'schema' => [ + 'description' => '日志服务LogProject的名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'hdmonitor-cn-shenzhen', + ], + ], + [ + 'name' => 'LogStore', + 'in' => 'query', + 'schema' => [ + 'description' => '日志服务LogStore的名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'hdmonitor', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要配置高精度秒级监控的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eip-wz9fi6qboho9fwgx7****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的类型,仅取值为**EIP**。', + 'type' => 'string', + 'required' => false, + 'example' => 'EIP', + 'default' => 'EIP', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的高精度秒级监控状态。取值:'."\n" + ."\n" + .'- **ON**:开启高精度秒级监控。'."\n" + .'- **OFF**:关闭高精度秒级监控。', + 'type' => 'string', + 'required' => true, + 'example' => 'ON', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数列表。', + 'type' => 'object', + 'properties' => [ + 'Success' => [ + 'description' => '结果是否调用成功。'."\n" + .'- **true**:调用成功。'."\n" + .'- **false**:调用失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'ProjectOrLogstoreNotExist', + 'errorMessage' => 'The specified project or logstore does not exist.', + ], + [ + 'errorCode' => 'SourceProjectNotExist', + 'errorMessage' => 'The Source Project or logstore does not exist.', + ], + [ + 'errorCode' => 'Unauthorized', + 'errorMessage' => 'This api does not support sub user or role.', + ], + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'InvalidAction.NotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'RuleExist', + 'errorMessage' => 'The rule has already existed.', + ], + [ + 'errorCode' => 'InvalidHdMonitorStatus', + 'errorMessage' => 'Current instance status is not valid for this action.', + ], + [ + 'errorCode' => 'HdMonitorEipNumberOverLimit', + 'errorMessage' => 'This user has reached the maximum Eip number of high definination.', + ], + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation id is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n 54B48E3D-DF70-471B-AA93-08E683A1B457\\n","errorExample":""}]', + 'title' => '为EIP配置高精度秒级监控', + 'summary' => '调用SetHighDefinitionMonitorLogStatus接口为EIP配置高精度秒级监控。', + 'description' => '**SetHighDefinitionMonitorLogStatus**接口不支持同一个EIP实例并发配置高精度秒级监控。', + ], + 'DescribeHighDefinitionMonitorLogAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '查询高精度秒级监控的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eip-wz9fi6qboho9fwgx7****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的类型,仅取值为**EIP**。', + 'type' => 'string', + 'required' => false, + 'example' => 'EIP', + 'default' => 'EIP', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'LogProject' => [ + 'description' => '日志服务LogProject的名称。', + 'type' => 'string', + 'example' => 'hdmonitor-cn-shenzhen-1658206966225390', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + 'LogStore' => [ + 'description' => '日志服务LogStore的名称。', + 'type' => 'string', + 'example' => 'hdmonitor', + ], + 'Success' => [ + 'description' => '结果是否调用成功。'."\n" + ."\n" + .'- **true**:调用成功。'."\n" + .'- **false**:调用失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'InstanceId' => [ + 'description' => '要查看高精度秒级监控的实例ID。', + 'type' => 'string', + 'example' => 'eip-wz9fi6qboho9fwgx7****', + ], + 'InstanceType' => [ + 'description' => '要查看高精度秒级监控的实例类型,仅可以取值为**EIP**。', + 'type' => 'string', + 'example' => 'EIP', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'ProjectNotExist', + 'errorMessage' => 'The Project does not exist.', + ], + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'Invalid parameter.', + ], + [ + 'errorCode' => 'InvalidHdMonitorStatus', + 'errorMessage' => 'Current instance status is not valid for this action.', + ], + [ + 'errorCode' => 'InvalidAction.NotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation id is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"LogProject\\": \\"hdmonitor-cn-shenzhen-1658206966225390\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"LogStore\\": \\"hdmonitor\\",\\n \\"Success\\": \\"true\\",\\n \\"InstanceId\\": \\"eip-wz9fi6qboho9fwgx7****\\",\\n \\"InstanceType\\": \\"EIP\\"\\n}","errorExample":""},{"type":"xml","example":"\\n54B48E3D-DF70-471B-AA93-08E683A1B457\\nhdmonitor\\neip-wz9fi6qboho9fwgx7****\\nEIP\\nhdmonitor-cn-shenzhen-1658206966225390\\ntrue\\n","errorExample":""}]', + 'title' => '查询EIP秒级监控的SLS log信息', + 'summary' => '调用DescribeHighDefinitionMonitorLogAttribute接口查询EIP高精度秒级监控的配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribePublicIpAddress' => [ + 'summary' => '调用DescribePublicIpAddress接口查询指定地域中位于专有网络的公网IP地址的范围。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + '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' => '分页查询时每页的行数。'."\n" + ."\n" + .'取值范围:**1**~**100**。默认值:**100**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + 'default' => '100', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定查询的地域。'."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定查询的地域。'."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP 协议的版本。取值:'."\n" + ."\n" + .'- **ipv4**(默认值):IPv4 协议。'."\n" + ."\n" + .'- **ipv6**:IPv6 协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回请求列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'Success' => [ + 'description' => '是否查询成功。'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Code' => [ + 'description' => '状态码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '响应信息。', + 'type' => 'string', + 'example' => 'test', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => '公网IP所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'PublicIpAddress' => [ + 'description' => '指定地域中位于专有网络的公网IP地址的范围。', + 'type' => 'array', + 'items' => [ + 'description' => '指定地域中位于专有网络的公网IP地址的范围。', + 'type' => 'string', + 'example' => '101.37.XX.XX/24', + ], + 'example' => '110.11.1.0/24', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => 'Param IpVersion illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"test\\",\\n \\"PageSize\\": 100,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"PublicIpAddress\\": [\\n \\"101.37.XX.XX/24\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n true\\n 200\\n test\\n 100\\n 1\\n 1\\n cn-hangzhou\\n 101.37.XX.XX/24\\n","errorExample":""}]', + 'title' => '查询专有网络中公网IP地址的范围', + 'description' => '您不能通过**DescribePublicIpAddress**接口查询位于经典网络中的公网IP的范围。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateCommonBandwidthPackage' => [ + 'summary' => '创建共享带宽实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Zone', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的可用区。'."\n" + .'创建云盒共享带宽时,该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'ap-southeast-1-lzdvn-cb', + ], + ], + [ + 'name' => 'ISP', + 'in' => 'query', + 'schema' => [ + 'description' => '线路类型。取值:'."\n" + .'- **BGP**(默认值):BGP(多线)线路。目前全部地域都支持BGP(多线)线路。'."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。目前仅中国香港、新加坡、日本(东京)、菲律宾(马尼拉)、马来西亚(吉隆坡)、印度尼西亚(雅加达)和泰国(曼谷)地域支持BGP(多线)\\_精品线路共享带宽。'."\n" + ."\n" + .'如果您是单线带宽的白名单用户,您还可以选择以下类型:'."\n" + .'- **ChinaTelecom**:中国电信'."\n" + .'- **ChinaUnicom**:中国联通'."\n" + .'- **ChinaMobile**:中国移动'."\n" + .'- **ChinaTelecom_L2**:中国电信L2'."\n" + .'- **ChinaUnicom_L2**:中国联通L2'."\n" + .'- **ChinaMobile_L2**:中国移动L2'."\n" + ."\n" + .'如果您是杭州金融云用户,该字段必填,取值:**BGP_FinanceCloud**。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test123', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的描述信息。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + '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' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazdjdhd****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的带宽峰值。单位:Mbps。 '."\n" + ."\n" + .'默认取值范围:**1**~**1000**。默认值:**1**。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 当**InternetChargeType**取值为**PayByBandwidth**,即共享带宽的计费方式为按带宽计费时,**Bandwidth**的默认取值范围为**2**~**20000**。'."\n" + .'- 当**InternetChargeType**取值为**PayBy95**,即共享带宽的计费方式为按增强型95计费时,**Bandwidth**的默认取值范围为**200**~**20000**。'."\n" + .'- 当 **InternetChargeType**取值为**PayByDominantTraffic**,即共享带宽的计费方式为按主流量计费时,**Bandwidth**的默认取值范围为**1**~**2000**。'."\n" + ."\n" + .' 默认值:**1000**。'."\n" + .'', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '1000', + ], + ], + [ + 'name' => 'Ratio', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的保底百分比,仅取值为**20**。'."\n" + ."\n" + .' 当**InternetChargeType**取值**PayBy95**时需配置此参数。'."\n" + .'>仅中国站支持该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '20', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的计费方式,取值:'."\n" + .'**PayByTraffic**(按流量计费)。'."\n" + ."\n" + .''."\n" + ."\n" + .'- **PayByBandwidth**(默认值):按带宽计费。'."\n" + .'- **PayBy95**:按增强型95计费。'."\n" + .'- **PayByDominantTraffic**:按主流量计费。'."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => '中国站示例值:PayByBandwidth,国际站示例值:PayByTraffic', + 'default' => 'PayByBandwidth', + ], + ], + [ + 'name' => 'SecurityProtectionTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。'."\n" + ."\n" + .'当**InternetChargeType**取值**PayBy95**时可以配置此参数。'."\n" + ."\n" + .'最大支持添加10个安全防护级别。'."\n" + ."\n" + .'> 该参数已废弃。', + 'type' => 'array', + 'items' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 配置为空时,默认为DDoS防护(基础版)。'."\n" + ."\n" + .'- 配置为**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。'."\n" + ."\n" + .'当**InternetChargeType**取值**PayBy95**时可以配置此参数。'."\n" + ."\n" + .'**N**的取值范围:**1**~**10**。目前仅支持添加1个安全防护级别,添加多个可能无法成功调用该接口。'."\n" + ."\n" + .'> 该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'AntiDDoS_Enhanced', + ], + 'required' => false, + 'example' => 'AntiDDoS_Enhanced', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '共享带宽实例的标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'BandwidthPackageId' => [ + 'description' => '共享带宽实例的ID。', + 'type' => 'string', + 'example' => 'cbwp-bp1vevu8h3ieh****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'FF39F653-033E-4CD9-9EDF-3CCA5A71FBC3', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazdjdhd****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotEnough.Bandwidth', + 'errorMessage' => 'The specified resource of Bandwidth is not enough.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'BandwidthPackageOperation.conflict', + 'errorMessage' => 'BandwidthPackage operation conflict, please wait a moment and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.Bandwidth', + 'errorMessage' => 'The specified bandwidth is not valid.', + ], + [ + 'errorCode' => 'BandwidthPackage.QuotaExceeded', + 'errorMessage' => 'Create BandwidthPackage has exceeded quota.', + ], + [ + 'errorCode' => 'IllegalParam.Zone', + 'errorMessage' => 'Zone is illegal.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidChargeType', + 'errorMessage' => 'The specified chargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'IllegalParam.Ratio', + 'errorMessage' => 'The specified ratio is not valid.', + ], + [ + 'errorCode' => 'OperationUnsupported.InvalidZone', + 'errorMessage' => 'It is not allowed to create CBWP in the specified zone.', + ], + [ + 'errorCode' => 'IllegalParam.AvailableZone', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.NameOrDescription', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.SystemBusy', + 'errorMessage' => 'Operation failed because system is busy.', + ], + [ + 'errorCode' => 'UnsupportedRegion.CloudBoxInternet', + 'errorMessage' => 'The region does not support cloud box public network.', + ], + [ + 'errorCode' => 'ResourceNotEnough.CommonBandWidthPackage', + 'errorMessage' => 'The specified resource commonBandWidthPackage is not enough.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'Specified value of ZoneId is not exists.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthPackageId\\": \\"cbwp-bp1vevu8h3ieh****\\",\\n \\"RequestId\\": \\"FF39F653-033E-4CD9-9EDF-3CCA5A71FBC3\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazdjdhd****\\"\\n}","type":"json"}]', + 'title' => '创建共享带宽实例', + 'description' => '本接口仅支持创建按量付费共享带宽实例。如何创建包年包月共享带宽实例,请参见[创建共享带宽实例](~~65223~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AddCommonBandwidthPackageIp' => [ + 'summary' => '调用AddCommonBandwidthPackageIp接口添加EIP到共享带宽中。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享带宽的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-2ze2ic1xd2qeqasdf****', + ], + ], + [ + 'name' => 'IpInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP实例的ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeEipAddresses](~~36018~~)接口查询EIP实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zeerraiwb7uqwed****', + ], + ], + [ + 'name' => 'IpType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP类型。取值:**EIP**,表示将EIP添加至共享带宽。', + 'type' => 'string', + 'required' => false, + 'example' => 'EIP', + 'default' => 'EIP', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回请求列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '01FDDD49-C4B7-4D2A-A8E5-A93915C450A6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.SecurityProtectionTypesInconsistent', + 'errorMessage' => 'The operation is not allowed because of SecurityProtectionTypesInconsistent.', + ], + [ + 'errorCode' => 'IpInstanceId.AlreadyInBandwidthPackage', + 'errorMessage' => 'The specified Eip InstanceId already in bandwidthPackage.', + ], + [ + 'errorCode' => 'IpInstanceId.BizStatusInvalid', + 'errorMessage' => 'The specified Eip BizStatus is Disable, Cannot add to bandwidthPackage.', + ], + [ + 'errorCode' => 'IpInstanceId.ChargeType.NotSupport', + 'errorMessage' => 'The specified Eip instance is PrePaid type, Cannot add to BandwidthPackage.', + ], + [ + 'errorCode' => 'BandwidthPackageId.InvalidBizStatus', + 'errorMessage' => 'The specified BandwidthPackageId has been FinancialLocked, Cannot add Ip.', + ], + [ + 'errorCode' => 'IpInstanceId.QuotaExceeded', + 'errorMessage' => 'The specified BandwidthPackageId has too many ip in it. exceed the quota , Cannot add more.', + ], + [ + 'errorCode' => 'EipOperation.TooFrequently', + 'errorMessage' => 'The specified Eip add into bandwidthPackage too frequently. please add later.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'IncorrectStatus.Eip', + 'errorMessage' => 'Eip status error.', + ], + [ + 'errorCode' => 'OperationUnsupported.IpType', + 'errorMessage' => 'Ip type does not support the operation.', + ], + [ + 'errorCode' => 'ParamExclusive.IpInstanceIdAndBandwidthPackageId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidBandwidthPackage.NotExist', + 'errorMessage' => 'Eip bandwidth package not exist.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'OperationFailed.ZoneIdInconsistent', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.BandwidthPackageIpVersion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId is not found.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'Mismatch.CloudBoxCbwpZoneAndEipZone', + 'errorMessage' => 'The CbwpZone and EipZone are mismatched.', + ], + [ + 'errorCode' => 'MissingParam.BandwidthPackageId', + 'errorMessage' => 'The parameter bandwidthPackageId is mandatory.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidIpInstanceId.NotFound', + 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', + ], + [ + 'errorCode' => 'IpInstanceId.InvalidIpInternetChargeType', + 'errorMessage' => 'The hybrid type eip not support add into bandwidthPackage of PayBytraffic type.', + ], + [ + 'errorCode' => 'BandwidthPackageId.InvalidBandwidth', + 'errorMessage' => 'The hybrid type eip can not add into low bandwidth bandwidthPackage.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\n","errorExample":""}]', + 'title' => '添加EIP到共享带宽中', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + .'- 调用本接口添加EIP到共享带宽中时,EIP需满足以下条件:'."\n" + .' - EIP的计费方式为按量付费。'."\n" + .' - EIP的地域与要加入的共享带宽的地域相同。'."\n" + .' - EIP的线路类型与要加入的共享带宽的线路类型一致。'."\n" + .'- **AddCommonBandwidthPackageIp**接口属于异步接口,即系统会先返回一个请求ID,但EIP并未成功添加到共享带宽,系统后台的添加任务仍在进行。您可以调用[DescribeCommonBandwidthPackages](~~120309~~)查询共享带宽和EIP的关联状态。 '."\n" + .' - 当共享带宽和EIP的关联状态处于**BINDING**时,表示共享带宽与EIP关联中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当共享带宽和EIP的关联状态处于**BINDED**时,表示共享带宽与EIP关联完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AddCommonBandwidthPackageIps' => [ + 'summary' => '调用AddCommonBandwidthPackageIps接口批量添加EIP到共享带宽中。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-2ze2ic1xd2qeqasdf****', + ], + ], + [ + 'name' => 'IpType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP类型。取值:**EIP**,表示将EIP添加至共享带宽。', + 'type' => 'string', + 'required' => false, + 'example' => 'EIP', + 'default' => 'EIP', + ], + ], + [ + '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' => 'IpInstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待添加的EIP实例ID列表。'."\n" + ."\n" + .'一次最多支持添加10个EIP实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '待添加的EIP实例ID列表。'."\n" + ."\n" + .'一次最多支持添加10个EIP实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-2zeerraiwb7uqwed****', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '01FDDD49-C4B7-4D2A-A8E5-A93915C450A6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.SecurityProtectionTypesInconsistent', + 'errorMessage' => 'The operation is not allowed because of SecurityProtectionTypesInconsistent.', + ], + [ + 'errorCode' => 'InvalidIpInstanceId.NotFound', + 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', + ], + [ + 'errorCode' => 'EIP_ALREADY_IN_BANDWIDTHPACKAGE', + 'errorMessage' => 'The Eip already in bandwidthPackage.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'IpInstanceId.AlreadyInBandwidthPackage', + 'errorMessage' => 'The specified Eip InstanceId already in bandwidthPackage.', + ], + [ + 'errorCode' => 'IpInstanceId.BizStatusInvalid', + 'errorMessage' => 'The specified Eip BizStatus is Disable, Cannot add to bandwidthPackage.', + ], + [ + 'errorCode' => 'IpInstanceId.ChargeType.NotSupport', + 'errorMessage' => 'The specified Eip instance is PrePaid type, Cannot add to BandwidthPackage.', + ], + [ + 'errorCode' => 'BandwidthPackageId.InvalidBizStatus', + 'errorMessage' => 'The specified BandwidthPackageId has been FinancialLocked, Cannot add Ip.', + ], + [ + 'errorCode' => 'IpInstanceId.QuotaExceeded', + 'errorMessage' => 'The specified BandwidthPackageId has too many ip in it. exceed the quota , Cannot add more.', + ], + [ + 'errorCode' => 'EipOperation.TooFrequently', + 'errorMessage' => 'The specified Eip add into bandwidthPackage too frequently. please add later.', + ], + [ + 'errorCode' => 'IpInstanceId.InvalidIpInternetChargeType', + 'errorMessage' => 'The hybrid type eip not support add into bandwidthPackage of PayBytraffic type.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'IncorrectStatus.Eip', + 'errorMessage' => 'Eip status error.', + ], + [ + 'errorCode' => 'OperationUnsupported.IpType', + 'errorMessage' => 'Ip type does not support the operation.', + ], + [ + 'errorCode' => 'ParamExclusive.IpInstanceIdAndBandwidthPackageId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidBandwidthPackage.NotExist', + 'errorMessage' => 'Eip bandwidth package not exist.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'BandwidthPackageId.InvalidBandwidth', + 'errorMessage' => 'The hybrid type eip can not add into low bandwidth bandwidthPackage.', + ], + [ + 'errorCode' => 'OperationFailed.ZoneIdInconsistent', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.BandwidthPackageIpVersion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'Mismatch.CloudBoxCbwpZoneAndEipZone', + 'errorMessage' => 'The CbwpZone and EipZone are mismatched.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId is not found.', + ], + [ + 'errorCode' => 'MissingParam.BandwidthPackageId', + 'errorMessage' => 'The parameter bandwidthPackageId is mandatory.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\n","errorExample":""}]', + 'title' => '批量添加EIP到共享带宽中', + 'description' => '- 调用本接口批量添加EIP到共享带宽中时,EIP需满足以下条件:'."\n" + .' - EIP的计费方式为按量付费。'."\n" + .' - EIP的地域与要加入的共享带宽的地域相同。'."\n" + .' - EIP的线路类型与要加入的共享带宽的线路类型一致。'."\n" + .'- **AddCommonBandwidthPackageIps**接口属于异步接口,即系统会先返回一个请求ID,但EIP并未成功添加到共享带宽,系统后台的添加任务仍在进行。您可以调用[DescribeCommonBandwidthPackages](~~DescribeCommonBandwidthPackages~~)查询共享带宽和EIP的关联状态。 '."\n" + .' - 当共享带宽和EIP的关联状态处于**BINDING**时,表示共享带宽与EIP关联中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当共享带宽和EIP的关联状态处于**BINDED**时,表示共享带宽与EIP关联完成。', + ], + 'RemoveCommonBandwidthPackageIp' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享带宽实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-2ze2ic1xd2qeqk145****', + ], + ], + [ + 'name' => 'IpInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP实例的ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeEipAddresses](~~36018~~)接口查询EIP实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zeerraiwb7uj6i0d****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IpInstanceId.NotBandwidthPackage', + 'errorMessage' => 'The specified IpInstanceId does not in bandwidthPackage.', + ], + [ + 'errorCode' => 'DependencyViolation.ip', + 'errorMessage' => 'The specified BandwidthPackageId has eip in it.', + ], + [ + 'errorCode' => 'EIP_BIND_NATGATEWAY', + 'errorMessage' => 'The eip have bind natgateway.', + ], + [ + 'errorCode' => 'IncorrectStatus.Eip', + 'errorMessage' => 'Eip status error.', + ], + [ + 'errorCode' => 'OperationFailed.SnatPoolIp', + 'errorMessage' => 'Multi ip in snat pool cannot remove ip from bandwidth package.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteEntry', + 'errorMessage' => 'vpc route table has route entry.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'Trade_Sync_Create_Sub_ERROR', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'FAILED_INVOKE_INNER_API', + 'errorMessage' => 'Failed to invoke inner api.', + ], + [ + 'errorCode' => 'InvalidIP.IpInSnatPool', + 'errorMessage' => 'Multi ip in snat pool cannot remove ip from bandwidth package.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'OperationUnsupported.IpNotInCbwp', + 'errorMessage' => 'The specified eip not exist in the commonBandwidthPackage.', + ], + [ + 'errorCode' => 'InvalidIpInstanceId.Malformed', + 'errorMessage' => 'The specified IpInstanceId is invalid.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipBindRemote', + 'errorMessage' => 'Eip bind remote ecs/slb, cannot remove it from bandwidthPackage.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId not exist.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.SystemBusy', + 'errorMessage' => 'Operation failed because system is busy.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '移除共享带宽实例中的EIP', + 'summary' => '调用RemoveCommonBandwidthPackageIp接口移除共享带宽实例中的EIP。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteCommonBandwidthPackage' => [ + 'summary' => '调用DeleteCommonBandwidthPackage接口删除已创建的共享带宽实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除共享带宽实例。取值: '."\n" + .' '."\n" + .'- **false**(默认值):只删除不包含EIP的共享带宽。'."\n" + ."\n" + .'- **true**:将共享带宽实例中的EIP全部移出后,删除共享带宽。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享带宽实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-2ze2ic1xd2qeqk145pn4u', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回请求列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B400EF57-60E3-4D61-B8FB-7FA8F72DF5A6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The param of %s is missing.', + ], + [ + 'errorCode' => 'DependencyViolation.Ips', + 'errorMessage' => 'The specified BandwidthPackageId has dependent resource ips.', + ], + [ + 'errorCode' => 'ForbiddenAction.PrePaid', + 'errorMessage' => 'The specified BandwidthPackageId is PrePaid.', + ], + [ + 'errorCode' => 'OperationFailed.BandwidthPackageNotEmpty', + 'errorMessage' => 'Eip bandwidth package not empty.', + ], + [ + 'errorCode' => 'InvalidOperation.DeletionProtection', + 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', + ], + [ + 'errorCode' => 'OperationUnsupported.Release95Instance', + 'errorMessage' => 'Releasing instances that payBy95 or payByOld95 is unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.AddIpTaskInProcessing', + 'errorMessage' => 'Operation failed because add ip to common bandwidth task in processing.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B400EF57-60E3-4D61-B8FB-7FA8F72DF5A6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B400EF57-60E3-4D61-B8FB-7FA8F72DF5A6\\n","errorExample":""}]', + 'title' => '删除共享带宽实例', + 'description' => '**DeleteCommonBandwidthPackage**接口不支持并发删除同一个共享带宽实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCommonBandwidthPackageAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享带宽实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-2ze2ic1xd2qeqk145****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的名称。 '."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test123', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的描述信息。 '."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => '描述', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B450CAD8-50BC-4506-ADA7-35C6CE63E96B', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B450CAD8-50BC-4506-ADA7-35C6CE63E96B\\"\\n}","errorExample":"\\n\\n B450CAD8-50BC-4506-ADA7-35C6CE63E96B\\n"},{"type":"xml","example":"\\r\\n\\r\\n B450CAD8-50BC-4506-ADA7-35C6CE63E96B\\r\\n","errorExample":"{\\n \\"RequestId\\":B450CAD8-50BC-4506-ADA7-35C6CE63E96B6\\"\\n}"}]', + 'title' => '修改共享带宽实例的名称和描述信息', + 'summary' => '修改共享带宽实例的名称和描述信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCommonBandwidthPackageSpec' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享带宽实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-2ze2ic1xd2qeqk145****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽实例的带宽峰值。单位:Mbps。 '."\n" + ."\n" + .''."\n" + ."\n" + .' - 当共享带宽的计费方式为按带宽计费时,**Bandwidth**的默认取值范围为**2**~**20000**。'."\n" + .'- 当共享带宽的计费方式为按增强型95计费时,**Bandwidth**的默认取值范围为**200**~**20000**。'."\n" + .'- 当共享带宽的计费方式为按主流量计费时,**Bandwidth**的默认取值范围为**1**~**2000**。'."\n" + ."\n" + .''."\n" + .'取值范围:**1**~**1000**。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '1000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7F129000-F929-4AF5-BE8D-BAE434C795306', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotEnough.Bandwidth', + 'errorMessage' => 'The specified resource of Bandwidth is not enough.', + ], + [ + 'errorCode' => 'InvalidParameter.Bandwidth', + 'errorMessage' => 'The specified bandwidth is not valid.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId not exist.', + ], + [ + 'errorCode' => 'InvalidCommonBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.ResourceStatus', + 'errorMessage' => 'Resource status is abnormal for renew.', + ], + [ + 'errorCode' => 'SYSTEM.SALE_VALIDATE_UNEXPECTED_ERROR', + 'errorMessage' => 'You have arrears and do not meet the purchase conditions.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCommodityInfo', + 'errorMessage' => 'Operation failed because quey commodity info error.', + ], + [ + 'errorCode' => 'OperationFailed.QueryPrice', + 'errorMessage' => 'Query price failed when create order.', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It\'s forbidden to change prepaid CBWP\'s bandwidth by API. It can be changed on Aliyun web console.', + ], + [ + 'errorCode' => 'IncorrectStatus.CbwpModifying', + 'errorMessage' => 'Cbwp Modifying status is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidth.ValueNotSupported', + 'errorMessage' => 'The specified value of Bandwidth not supported.', + ], + [ + 'errorCode' => 'BandwidthPackage.FinancialLocked', + 'errorMessage' => 'The specified BandwidthPackage has been Financial Lock.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OrderError.BandwidthPackage', + 'errorMessage' => 'The Account failed to create order.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7F129000-F929-4AF5-BE8D-BAE434C795306\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 7F129000-F929-4AF5-BE8D-BAE434C795306\\n","errorExample":""}]', + 'title' => '修改共享带宽的带宽峰值', + 'summary' => '调用ModifyCommonBandwidthPackageSpec接口修改共享带宽的带宽峰值。', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + .'- **ModifyCommonBandwidthPackageSpec**接口属于异步接口,即系统会先返回一个请求ID,但共享带宽的带宽峰值并未修改完成,系统后台的修改任务仍在进行。您可以调用[DescribeCommonBandwidthPackages](~~120309~~)查询共享带宽实例的状态。'."\n" + .' - 当共享带宽实例处于**Modifying**状态时,表示共享带宽的带宽峰值正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + .' - 当共享带宽实例处于**Available**状态时,表示共享带宽的带宽峰值修改完成。'."\n" + .'- **ModifyCommonBandwidthPackageSpec**接口不支持并发修改同一个共享带宽的带宽峰值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCommonBandwidthPackages' => [ + 'summary' => '调用DescribeCommonBandwidthPackages接口查询指定地域中共享带宽实例列表及其信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含未生效的订购数据。取值:'."\n" + .'- **false**(默认值):不包含。'."\n" + .'- **true**:包含。', + '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-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享带宽实例的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cbwp-2ze2ic1xd2qeqk145****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽实例名称。'."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test123', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => ' 列表的页码。默认值:**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会查询实例信息。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '共享带宽实例的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '共享带宽实例的标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'ValueTest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SecurityProtectionEnabled', + 'in' => 'query', + 'schema' => [ + 'title' => '是否开启安全防护', + 'description' => '是否开启DDoS防护(增强版)。取值:'."\n" + .'- **false**:不开启。'."\n" + .'- **true**:开启。'."\n" + ."\n" + .'> 该参数已废弃。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数列表。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '20E6FD1C-7321-4DAD-BDFD-EC8769E4AA33', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'CommonBandwidthPackages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CommonBandwidthPackage' => [ + 'description' => '共享带宽的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '共享带宽的详细信息。', + 'type' => 'object', + 'properties' => [ + 'ReservationActiveTime' => [ + 'description' => '续费生效时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2018-08-30T16:00:00Z', + ], + 'Status' => [ + 'description' => '共享带宽实例的状态。'."\n" + .'- **Available**:可用。'."\n" + .'- **Modifying**:修改中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'CreationTime' => [ + 'description' => '共享带宽实例创建的时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2017-06-28T06:39:20Z', + ], + 'ReservationOrderType' => [ + 'description' => '续费变配方式。'."\n" + ."\n" + .'- **RENEWCHANGE**:续费变配。'."\n" + .'- **TEMP_UPGRADE**:短时升配。'."\n" + .'- **UPGRADE**:升级。', + 'type' => 'string', + 'example' => 'RENEWCHANGE', + ], + 'DeletionProtection' => [ + 'description' => '是否开启删除保护。'."\n" + .'- **true**:开启。'."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ReservationInternetChargeType' => [ + 'description' => '变配之后的计费方式。'."\n" + ."\n" + .''."\n" + ."\n" + .'- **PayBy95**:按增强型95计费。'."\n" + .'- **PayByBandwidth**:按带宽计费。'."\n" + .'- **PayByDominantTraffic**:按主流量计费。'."\n" + ."\n" + .''."\n" + .'**PayByTraffic**:按流量计费。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'Ratio' => [ + 'description' => '共享带宽的保底百分比,仅返回:**20**。'."\n" + ."\n" + .' 当**InternetChargeType**取值**PayBy95**时返回该参数。'."\n" + ."\n" + .'>仅中国站支持该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'InstanceChargeType' => [ + 'description' => '共享带宽实例的计费类型。'."\n" + ."\n" + .''."\n" + ."\n" + .'- **PostPaid**:按量计费。'."\n" + .'- **PrePaid**:包年包月。'."\n" + ."\n" + .''."\n" + .'**PostPaid**:按量计费。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'RegionId' => [ + 'description' => '共享带宽实例所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'BandwidthPackageId' => [ + 'description' => ' 共享带宽的ID。 ', + 'type' => 'string', + 'example' => 'cbwp-bp1t3sm1ffzmshdki****', + ], + 'ServiceManaged' => [ + 'description' => '是否为服务账号创建的资源。'."\n" + .'- **0**:非服务账号创建。'."\n" + .'- **1**:服务账号创建。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Bandwidth' => [ + 'description' => ' 共享带宽的带宽峰值, 单位:Mbps。', + 'type' => 'string', + 'example' => '20', + ], + 'Description' => [ + 'description' => ' 共享带宽的描述信息。 ', + 'type' => 'string', + 'example' => 'none', + ], + 'ExpiredTime' => [ + 'description' => '共享带宽实例的过期时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2019-01-15T03:08:37Z', + ], + 'ReservationBandwidth' => [ + 'description' => '变配之后的带宽值, 单位:Mbps。', + 'type' => 'string', + 'example' => '1000', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + 'InternetChargeType' => [ + 'description' => '共享带宽的计费方式。'."\n" + ."\n" + .' '."\n" + ."\n" + .'- **PayBy95**:按增强型95计费。'."\n" + .'- **PayByBandwidth**:按带宽计费。'."\n" + .'- **PayByDominantTraffic**:按主流量计费。'."\n" + ."\n" + .''."\n" + .'**PayByTraffic**:按流量计费。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'BusinessStatus' => [ + 'description' => '共享带宽实例的业务状态。'."\n" + .'- **Normal**:正常状态。'."\n" + .'- **FinancialLocked**:欠费。'."\n" + .'- **Unactivated**:未激活。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Name' => [ + 'description' => ' 共享带宽的名称。 ', + 'type' => 'string', + 'example' => 'abc', + ], + 'ISP' => [ + 'description' => '线路类型。'."\n" + .'- **BGP**:BGP(多线)线路。目前全部地域都支持BGP(多线)线路。'."\n" + .'- **BGP_PRO**:BGP(多线)\\_精品线路。目前仅中国香港、新加坡、日本(东京)、菲律宾(马尼拉)、马来西亚(吉隆坡)、印度尼西亚(雅加达)和泰国(曼谷)地域支持BGP(多线)\\_精品线路共享带宽。'."\n" + ."\n" + .'如果您是单线带宽的白名单用户,返回类型还可能为:'."\n" + ."\n" + .'- **ChinaTelecom**:中国电信'."\n" + .'- **ChinaUnicom**:中国联通 '."\n" + .'- **ChinaMobile**:中国移动'."\n" + .'- **ChinaTelecom_L2**:中国电信L2'."\n" + .'- **ChinaUnicom_L2**:中国联通L2'."\n" + .'- **ChinaMobile_L2**:中国移动L2'."\n" + ."\n" + .'如果您是杭州金融云用户,返回**BGP_FinanceCloud**。'."\n" + ."\n\n", + 'type' => 'string', + 'example' => 'BGP', + ], + 'HasReservationData' => [ + 'description' => '是否有待生效的订单。'."\n" + ."\n" + .'- **false**:没有待生效的订单。'."\n" + .'- **true**:有待生效的订单。', + 'type' => 'string', + 'example' => 'false', + ], + 'PublicIpAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PublicIpAddresse' => [ + 'description' => '共享带宽实例中的公网IP地址。', + 'type' => 'array', + 'items' => [ + 'description' => '共享带宽实例中的公网IP地址。', + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'description' => '公网IP地址。', + 'type' => 'string', + 'example' => '47.95.XX.XX', + ], + 'AllocationId' => [ + 'description' => '公网IP的实例ID。', + 'type' => 'string', + 'example' => 'eip-bp13e9i2qst4g6jzi****', + ], + 'BandwidthPackageIpRelationStatus' => [ + 'description' => '共享带宽和EIP的关联状态。'."\n" + .'- **BINDED**:EIP与共享带宽关联完成。'."\n" + .'- **BINDING**:关联中。', + 'type' => 'string', + 'example' => 'BINDED', + ], + ], + ], + ], + ], + ], + 'SecurityProtectionTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityProtectionType' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 返回为空时,表示默认的DDoS防护(基础版)。'."\n" + ."\n" + .'- 返回**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。'."\n" + ."\n" + .'> 该参数已废弃。', + 'type' => 'array', + 'items' => [ + 'description' => '安全防护级别。'."\n" + ."\n" + .'- 返回为空时,表示默认的DDoS防护(基础版)。'."\n" + ."\n" + .'- 返回**AntiDDoS_Enhanced**时,表示DDoS防护(增强版)。'."\n" + ."\n" + .'> 该参数已废弃。', + 'type' => 'string', + 'example' => 'AntiDDoS_Enhanced', + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '共享带宽实例的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '共享带宽实例的标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '共享带宽实例的标签键。', + 'type' => 'string', + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => '共享带宽实例的标签值。', + 'type' => 'string', + 'example' => 'ValueTest', + ], + ], + ], + ], + ], + ], + 'BizType' => [ + 'description' => '共享带宽的业务类型。'."\n" + .'- **CloudBox**:云盒。仅云盒用户支持该类型。'."\n" + .'- **Default**(默认值):默认,表示非特殊类型。', + 'type' => 'string', + 'example' => 'CloudBox', + ], + 'Zone' => [ + 'description' => '共享带宽的可用区。'."\n" + ."\n" + .'当可用区资源过载时,为保证服务稳定性,共享带宽可能会被调度至其他可用区。', + 'type' => 'string', + 'example' => 'ap-southeast-1-lzdvn-cb', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidBandwidthPackageIdNumber.NotSupported', + 'errorMessage' => 'The number of BandwidthPackageIds exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => 'ResourceGroup is not supported in this region.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"20E6FD1C-7321-4DAD-BDFD-EC8769E4AA33\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"CommonBandwidthPackages\\": {\\n \\"CommonBandwidthPackage\\": [\\n {\\n \\"ReservationActiveTime\\": \\"2018-08-30T16:00:00Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2017-06-28T06:39:20Z\\",\\n \\"ReservationOrderType\\": \\"RENEWCHANGE\\",\\n \\"DeletionProtection\\": true,\\n \\"ReservationInternetChargeType\\": \\"PayByBandwidth\\",\\n \\"Ratio\\": 20,\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"BandwidthPackageId\\": \\"cbwp-bp1t3sm1ffzmshdki****\\",\\n \\"ServiceManaged\\": 1,\\n \\"Bandwidth\\": \\"20\\",\\n \\"Description\\": \\"none\\",\\n \\"ExpiredTime\\": \\"2019-01-15T03:08:37Z\\",\\n \\"ReservationBandwidth\\": \\"1000\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"InternetChargeType\\": \\"PayByBandwidth\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Name\\": \\"abc\\",\\n \\"ISP\\": \\"BGP\\",\\n \\"HasReservationData\\": \\"false\\",\\n \\"PublicIpAddresses\\": {\\n \\"PublicIpAddresse\\": [\\n {\\n \\"IpAddress\\": \\"47.95.XX.XX\\",\\n \\"AllocationId\\": \\"eip-bp13e9i2qst4g6jzi****\\",\\n \\"BandwidthPackageIpRelationStatus\\": \\"BINDED\\"\\n }\\n ]\\n },\\n \\"SecurityProtectionTypes\\": {\\n \\"SecurityProtectionType\\": [\\n \\"AntiDDoS_Enhanced\\"\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"KeyTest\\",\\n \\"Value\\": \\"ValueTest\\"\\n }\\n ]\\n },\\n \\"BizType\\": \\"CloudBox\\",\\n \\"Zone\\": \\"ap-southeast-1-lzdvn-cb\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 20E6FD1C-7321-4DAD-BDFD-EC8769E4AA33\\n 1\\n 1\\n \\n 2018-08-30T16:00:00Z\\n Available\\n 2017-06-28T06:39:20Z\\n RENEWCHANGE\\n true\\n PayByBandwidth\\n 20\\n PostPaid\\n cn-hangzhou\\n cbwp-bp1t3sm1ffzmshdki****\\n 1\\n 20\\n none\\n 2019-01-15T03:08:37Z\\n 1000\\n rg-acfmxazb4ph****\\n PayByBandwidth\\n Normal\\n abc\\n BGP\\n false\\n \\n 47.95.XX.XX\\n eip-bp13e9i2qst4g6jzi****\\n BINDED\\n \\n AntiDDoS_Enhanced\\n \\n KeyTest\\n ValueTest\\n \\n CloudBox\\n ap-southeast-1-lzdvn-cb\\n \\n","errorExample":""}]', + 'title' => '查询指定地域中共享带宽实例列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCommonBandwidthPackageIpBandwidth' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-2zep6hw5d6y8exscd****', + ], + ], + [ + 'name' => 'EipId', + 'in' => 'query', + 'schema' => [ + 'description' => '已经加入到共享带宽的EIP的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zewysoansu0svfbg****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '在共享带宽内最大可分配的带宽值。单位:Mbps。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '500', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回请求列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '63D187BF-A30A-4DD6-B68D-FF182C96D8A2 ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => '%s', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => '%s', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"63D187BF-A30A-4DD6-B68D-FF182C96D8A2\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t63D187BF-A30A-4DD6-B68D-FF182C96D8A2\\r\\n","errorExample":""}]', + 'title' => '为EIP设置最大可用带宽值', + 'summary' => '调用ModifyCommonBandwidthPackageIpBandwidth接口为已经加入到共享带宽的EIP设置最大可用带宽值。', + 'description' => '通过调用**ModifyCommonBandwidthPackageIpBandwidth**接口,您可以灵活分配加入到共享带宽中的每个EIP的最大可用带宽值,避免共享带宽的带宽值被某个EIP一直占用。'."\n" + ."\n" + .'例如,2个EIP加入一个800 Mbps的共享带宽,可以为第一个EIP设置最大可用带宽值为500 Mbps,另外一个EIP设置最大可用带宽值为400 Mbps。设置完成后,第一个EIP可用的带宽值将不大于500 Mbps,第二个EIP可用的带宽值将不大于400 Mbps。'."\n" + ."\n" + .'调用该接口前,请了解以下注意事项:'."\n" + ."\n" + .'- 该接口仅针对EIP绑定ECS实例的场景生效,EIP绑定CLB实例、NAT网关、辅助弹性网卡、高可用虚拟IP场景配置该功能后无效。'."\n" + ."\n" + .'- 该接口处于公测期,且仅可以通过该接口实现为已经加入到共享带宽的EIP设置最大可用带宽值,控制台暂不支持该功能。'."\n" + ."\n" + .'- 该接口不支持对同一个EIP并发设置最大可用带宽值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelCommonBandwidthPackageIpBandwidth' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享带宽的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-bp13d0m4e2qv8xxxxxxxx', + ], + ], + [ + 'name' => 'EipId', + 'in' => 'query', + 'schema' => [ + 'description' => '已经加入到共享带宽的EIP的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eip-2zewysoansu0sxxxxxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '63D187BF-A30A-4DD6-B68D-FF182C96D8A2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => '%s', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => '%s', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"63D187BF-A30A-4DD6-B68D-FF182C96D8A2\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 63D187BF-A30A-4DD6-B68D-FF182C96D8A2\\n","errorExample":""}]', + 'title' => '取消EIP最大可用带宽值设置', + 'summary' => '调用CancelCommonBandwidthPackageIpBandwidth接口取消已经加入共享带宽中的EIP的最大可用带宽值的设置。', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + .'- 取消后,EIP的最大可用带宽值和共享带宽一致。'."\n" + .'- **CancelCommonBandwidthPackageIpBandwidth**接口不支持并发取消同一个EIP的最大可用带宽值设置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'Describe95Traffic' => [ + 'summary' => '调用Describe95Traffic接口查询按增强型95计费共享带宽的95流量数据。', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型,仅支持**cbwp**,表示共享带宽。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbwp-wz9j19xrwf78fvz7*****', + ], + ], + [ + 'name' => 'Day', + 'in' => 'query', + 'schema' => [ + 'description' => '指定待查询日期,使用北京时间,格式:年-月-日。'."\n" + ."\n" + .'> 查询日期至少须为2天前。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '2022-10-22', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'Traffic95Summary' => [ + 'description' => '增强型95计费共享带宽的带宽统计信息。', + 'type' => 'object', + 'properties' => [ + 'InternetChargeType' => [ + 'description' => '共享带宽实例在所查询时间当天的计费方式。取值'."\n" + .'- **PayBy95**:按增强型 95 计费。'."\n" + .'- **PayByBandwidth**:按带宽计费。'."\n" + .'- **PayByDominantTraffic**:按主流量计费。', + 'type' => 'string', + 'example' => 'PayBy95', + ], + 'InstanceId' => [ + 'description' => '资源 ID。', + 'type' => 'string', + 'example' => 'cbwp-wz9j19xrwf78fvz7*****'."\n", + ], + 'Bandwidth' => [ + 'description' => '共享带宽实例在所查询时间当天的峰值带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000.0', + ], + 'FifthPeakBandwidth' => [ + 'description' => '日峰值带宽,单位为Mbps。'."\n" + ."\n" + .'更多信息,请参见[日峰值带宽](~~89729~~)。', + 'type' => 'string', + 'example' => '1064.244837773641', + ], + 'MinimumConsumeBandwidth' => [ + 'description' => '共享带宽实例在所查询时间当天的保底带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '0.0', + ], + 'Traffic95DetailList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Traffic95Detail' => [ + 'description' => '入方向和出方向当天每5分钟内的带宽平均值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '以5分钟为粒度采样,入方向和出方向在所查询日期每5分钟内的带宽平均值。', + 'type' => 'object', + 'properties' => [ + 'Time' => [ + 'description' => '统计时间(字符串)。', + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'BillBandwidth' => [ + 'description' => '采样点带宽值,为该时间区间内入方向和出方向中较大的带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '118.5090322113037', + ], + 'OutBandwidth' => [ + 'description' => '出方向带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '96.41217480977376', + ], + 'InBandwidth' => [ + 'description' => '入方向带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '118.5090322113037', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified Instance does not exist in the specified region.', + ], + [ + 'errorCode' => 'IllegalParam.Day', + 'errorMessage' => 'The specified parameter day is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceType', + 'errorMessage' => 'Invalid Resource Type value.', + ], + [ + 'errorCode' => 'OperationDenied.QueryCdt95Instance', + 'errorMessage' => 'The operation is not allowed because of QueryCdt95Instance.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"Traffic95Summary\\": {\\n \\"InternetChargeType\\": \\"PayBy95\\",\\n \\"InstanceId\\": \\"cbwp-wz9j19xrwf78fvz7*****\\\\n\\",\\n \\"Bandwidth\\": 20000,\\n \\"FifthPeakBandwidth\\": \\"1064.244837773641\\",\\n \\"MinimumConsumeBandwidth\\": \\"0.0\\",\\n \\"Traffic95DetailList\\": {\\n \\"Traffic95Detail\\": [\\n {\\n \\"Time\\": \\"2024-01-01T00:00:00Z\\",\\n \\"BillBandwidth\\": \\"118.5090322113037\\",\\n \\"OutBandwidth\\": \\"96.41217480977376\\",\\n \\"InBandwidth\\": \\"118.5090322113037\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => '查询按增强型95计费的共享带宽的95流量数据', + ], + 'CreateVirtualPhysicalConnection' => [ + 'summary' => '调用CreateVirtualPhysicalConnection接口创建共享专线。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'OrderMode', + 'in' => 'query', + 'schema' => [ + 'title' => 'vpconn的支付方', + 'description' => '共享专线的付费方式。取值:'."\n" + ."\n" + .'- **PayByPhysicalConnectionOwner**:表示合作伙伴付费。'."\n" + .'- **PayByVirtualPhysicalConnectionOwner**:表示租户付费。', + 'type' => 'string', + 'required' => true, + 'example' => 'PayByVirtualPhysicalConnectionOwner', + 'enum' => [ + 'PayByVirtualPhysicalConnectionOwner', + 'PayByPhysicalConnectionOwner', + ], + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'title' => 'vpconn的VlanID', + 'description' => '共享专线的VLAN ID。取值范围:**0**~**2999**。'."\n" + ."\n" + .'- VLAN ID为**0**时,表示边界路由器VBR(Virtual Border Router)的物理交换机端口不使用VLAN模式,而使用三层路由接口模式。三层路由接口模式下每一条物理专线对应一个VBR。'."\n" + .'- VLAN ID为**1**~**2999**时,表示VBR的物理交换机端口使用基于VLAN的三层子接口。三层子接口模式下每个VLAN ID对应一个VBR。此时,该VBR的物理专线可以连接多个账号下的VPC。不同VLAN下的VBR二层网络隔离,无法互通。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '4', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'title' => 'vpconn规格', + 'description' => '共享专线的带宽值。'."\n" + ."\n" + .'取值:**50M**、**100M**、**200M**、**300M**、**400M**、**500M**、**1G**、**2G**、**5G**、**8G**、**10G**。'."\n" + ."\n" + .''."\n" + .'> **2G**、**5G**、**8G**、**10G**的带宽值默认不开放,如需使用,请联系您的客户经理申请。'."\n" + ."\n" + .''."\n" + .'> **2G**、**5G**、**8G**、**10G**的带宽值默认不开放,如需使用,请联系您的客户经理申请。'."\n" + ."\n" + .'单位:**M**表示Mbps,**G**表示Gbps。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '50M', + ], + ], + [ + 'name' => 'VpconnAliUid', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn拥有者', + 'description' => '租户的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1210123456123456', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn的主Pconn', + 'description' => '共享专线关联的物理专线ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp1ciz7ekd2grn1as****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn的name', + 'description' => '共享专线的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-),但不能以`http:// `或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等Token', + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => 'DryRun', + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建共享专线。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回`DRYRUN.SUCCESS`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建共享专线。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn的description', + 'description' => '共享专线的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享专线所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享专线所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzjty2chzuqky', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CD14EA74-E9C3-59A9-942A-DFEC7E12818D', + ], + 'VirtualPhysicalConnection' => [ + 'title' => 'Vpconn的实例ID', + 'description' => '共享专线实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.VbrBindedPconn', + 'errorMessage' => 'The operation is failed because of VbrBindedPconn.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of Bandwidth [%s] is illegal.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnectionId', + 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not found.', + ], + [ + 'errorCode' => 'OperationFailed.VPconnCreated', + 'errorMessage' => 'The operation is failed because of VPconnCreated.', + ], + [ + 'errorCode' => 'MissingParam.Spec', + 'errorMessage' => 'The param of Spec is missing.', + ], + [ + 'errorCode' => 'IllegalParam.Spec', + 'errorMessage' => 'The param of Spec is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.VlanId', + 'errorMessage' => 'The param of VlanId is illegal.', + ], + [ + 'errorCode' => 'VLAN_ID_HAS_BEEN_USED_IN_PHYSICAL_CONNECTION', + 'errorMessage' => 'vlan id has been used in physical connection', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified PhysicalConnectionId is not found.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotEnabled', + 'errorMessage' => 'The specified PhysicalConnectionId is not in Enabled state.', + ], + [ + 'errorCode' => 'OperationFailed.PconnAllocateVlan0', + 'errorMessage' => 'The operation is failed because of PconnAllocatedResource.', + ], + [ + 'errorCode' => 'InvalidVlanId.Malformed', + 'errorMessage' => 'The specified VlanId is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Bandwidth', + 'errorMessage' => 'The specified resource of Bandwidth is not enough.', + ], + [ + 'errorCode' => 'IllegalParam.VpconnAliUid', + 'errorMessage' => 'The specified AliUid of Vpconn is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.OrderMode', + 'errorMessage' => 'The param of OrderMode is illegal.', + ], + [ + 'errorCode' => 'Forbidden.VpconnAliUid', + 'errorMessage' => 'Vpconn UID is forbidden to belong to a RAM account or partner account.', + ], + [ + 'errorCode' => 'QuotaExceeded.VPCONN', + 'errorMessage' => 'The quota of VPCONN_COUNT_PER_PCONN is exceeded', + ], + [ + 'errorCode' => 'OperationDenied.CreateVpconn', + 'errorMessage' => 'You are not allowed to create virtual physical connection. Please contact your CBM.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'EcAssociatedQoSPconnNotAllowCreateVpconn', + 'errorMessage' => 'The specified Pconn associated with Qos is not allowed to create Vpconn.Please contact the business manager.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceGroupId', + 'errorMessage' => 'Invalid ResourceGroupld value.', + ], + [ + 'errorCode' => 'Forbidden.VpconnCrossBid', + 'errorMessage' => 'Not allow to create across bid virtual physical connection.', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnection', + 'errorMessage' => 'Invalid physical connection status.', + ], + [ + 'errorCode' => 'OperationDenied.PhysicalConnectionNotSupportMPBGPAndMPBGP-v6', + 'errorMessage' => 'The operation is not allowed because this physical connection not support MPBGP and MPBGP-v6.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CD14EA74-E9C3-59A9-942A-DFEC7E12818D\\",\\n \\"VirtualPhysicalConnection\\": \\"pc-bp1mrgfbtmc9brre7****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CD14EA74-E9C3-59A9-942A-DFEC7E12818D\\n pc-bp1mrgfbtmc9brre7****\\n","errorExample":""}]', + 'title' => '创建共享专线', + 'description' => '在调用接口前,请先了解共享专线的创建流程及环境要求。更多信息,请参见[共享专线连接概述](~~146571~~)和[合作伙伴操作指导](~~155987~~)。', + ], + 'UpdateVirtualPhysicalConnection' => [ + 'summary' => '调用UpdateVirtualPhysicalConnection接口修改共享专线信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'title' => 'vpconn的VlanID', + 'description' => '共享专线的VLAN ID。取值范围:**0**~**2999**。'."\n" + ."\n" + .'- VLAN ID为**0**时,表示边界路由器VBR(Virtual Border Router)的物理交换机端口不使用VLAN模式,而使用三层路由接口模式。三层路由接口模式下每一条物理专线对应一个VBR。'."\n" + .'- VLAN ID为**1**~**2999**时,表示VBR的物理交换机端口使用基于VLAN的三层子接口。三层子接口模式下每个VLAN ID对应一个VBR。此时,该VBR的物理专线可以连接多个账号下的VPC。不同VLAN下的VBR二层网络隔离,无法互通。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn的实例ID', + 'description' => '共享专线实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等Token', + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => 'DryRun', + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改共享专线的VLAN ID。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接修改共享专线的VLAN ID。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ExpectSpec', + 'in' => 'query', + 'schema' => [ + 'title' => 'ExpectSpec', + 'description' => '共享专线的预计带宽值。完成支付后,带宽值才能生效。'."\n" + ."\n" + .'取值:**50M**、**100M**、**200M**、**300M**、**400M**、**500M**、**1G**、**2G**、**5G**、**8G**、**10G**。'."\n" + ."\n" + .''."\n" + .'> **2G**、**5G**、**8G**、**10G**的带宽值默认不开放,如需使用,请向您的客户经理申请。'."\n" + ."\n" + .''."\n" + .'> **2G**、**5G**、**8G**、**10G**的带宽值默认不开放,如需使用,请向您的客户经理申请。'."\n" + ."\n" + .'单位:**M**表示Mbps,**G**表示Gbps。', + 'type' => 'string', + 'required' => false, + 'example' => '50M', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享专线所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7035627E-1C1D-5BC7-A830-F897A35912D1', + ], + 'Success' => [ + 'title' => '是否修改成功', + 'description' => '是否已成功修改共享专线的VLAN ID。'."\n" + ."\n" + .'- **true**:已成功修改。'."\n" + .'- **false**:未成功修改。', + 'type' => 'string', + 'example' => 'true', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.VlanId', + 'errorMessage' => 'The param of VlanId is illegal.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnectionId', + 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not found.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Bandwidth', + 'errorMessage' => 'The specified resource of Bandwidth is not enough.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of bandwidth is illegal.', + ], + [ + 'errorCode' => 'Forbidden.PhysicalConnection', + 'errorMessage' => 'Only parent physical connection account is allowed to modify the virtual physical connection.', + ], + [ + 'errorCode' => 'OperationFailed.PhysicalConnectionFinancialLocked', + 'errorMessage' => 'Update failed, the physical connection is financial locked.', + ], + [ + 'errorCode' => 'OperationFailed.PhysicalConnectionTerminated', + 'errorMessage' => 'Update failed, the physical connection is terminated.', + ], + [ + 'errorCode' => 'OperationDenied.CreateVpconn', + 'errorMessage' => 'You are not allowed to create virtual physical connection. Please contact your CBM.', + ], + [ + 'errorCode' => 'IncorrectStatus.VBR', + 'errorMessage' => 'The status of VBR is incorrect.', + ], + [ + 'errorCode' => 'IllegalParam.Spec', + 'errorMessage' => 'The param of Spec is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7035627E-1C1D-5BC7-A830-F897A35912D1\\",\\n \\"Success\\": \\"true\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 7035627E-1C1D-5BC7-A830-F897A35912D1\\n true\\n","errorExample":""}]', + 'title' => '修改共享专线信息', + ], + 'ListVirtualPhysicalConnections' => [ + 'summary' => '调用ListVirtualPhysicalConnections接口查询共享专线的信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn的主Pconn', + 'description' => '共享专线关联的物理专线ID。'."\n" + ."\n" + .'本文以下内容将共享专线关联的物理专线,简称为物理专线,和共享专线互做区分。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp1ciz7ekd2grn1as****', + ], + ], + [ + 'name' => 'VirtualPhysicalConnectionBusinessStatus', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn的商业状态', + 'description' => '共享专线的商业状态。取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + .'- **SecurityLocked**:因安全原因被锁定。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'VirtualPhysicalConnectionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '根据Vpconn的ID列表过滤', + 'description' => '共享专线信息。', + 'type' => 'array', + 'items' => [ + 'description' => '共享专线实例ID。'."\n" + ."\n" + .'支持输入多个实例ID,**N**的取值范围:**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + 'required' => false, + 'example' => 'pc-xxx', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'IsConfirmed', + 'in' => 'query', + 'schema' => [ + 'title' => 'Vpconn是否被确认', + 'description' => '共享专线是否已被租户确认接收。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'VirtualPhysicalConnectionStatuses', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Vpconn的状态', + 'description' => '共享专线的业务状态信息。', + 'type' => 'array', + 'items' => [ + 'description' => '共享专线的业务状态。取值:'."\n" + ."\n" + .'- **Confirmed**:共享专线已被确认接收。'."\n" + .'- **UnConfirmed**:共享专线未被确认接收。'."\n" + .'- **Deleted**:共享专线已被删除。'."\n" + ."\n" + .'支持输入多种业务状态,**N**的取值范围:**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'Confirmed', + ], + 'required' => false, + 'example' => 'pc-xxx', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'VirtualPhysicalConnectionAliUids', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Vpconn的OwnerUid', + 'description' => '共享专线拥有者的阿里云账号信息。', + 'type' => 'array', + 'items' => [ + 'description' => '共享专线拥有者的阿里云账号(主账号)ID。'."\n" + ."\n" + .'支持输入多个阿里云账号(主账号)ID,**N**的取值范围:**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => '15346073170691****', + ], + 'required' => false, + 'example' => '189xxx', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'VlanIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Vpconn的vlanId', + 'description' => '共享专线的VLAN ID。', + 'type' => 'array', + 'items' => [ + 'description' => '共享专线的VLAN ID。'."\n" + ."\n" + .'支持输入多个VLAN ID,**N**的取值范围:**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + 'required' => false, + 'example' => 'pc-xxx', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'title' => '单次查询最大量', + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '单次查询最大量', + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'dd20****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享专线所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '共享专线所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4p**** ', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2A55F69E-EE3D-5CBE-8805-734F7D5B46B9', + ], + 'VirtualPhysicalConnections' => [ + 'title' => 'Vpconn', + 'description' => '共享专线信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '共享专线详细信息。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '物理专线的类型。默认值为**VPC**。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'Status' => [ + 'description' => '物理专线的状态。取值:'."\n" + ."\n" + .'- **Initial**:申请中。'."\n" + .'- **Approved**:审批通过。'."\n" + .'- **Allocating**:正在分配资源。'."\n" + .'- **Allocated**:接入施工中。'."\n" + .'- **Confirmed**:等待用户确认。'."\n" + .'- **Enabled**:已开通。'."\n" + .'- **Rejected**:申请被拒绝。'."\n" + .'- **Canceled**:已取消。'."\n" + .'- **Allocation Failed**:资源分配失败。'."\n" + .'- **Terminated**:已终止。', + 'type' => 'string', + 'example' => 'Enabled', + ], + 'CreationTime' => [ + 'description' => '物理专线的创建时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'AdLocation' => [ + 'description' => '物理专线接入设备所在的物理位置。', + 'type' => 'string', + 'example' => '余杭经济开发区XXX交叉口, 余杭XX机房, E***包间', + ], + 'PortNumber' => [ + 'description' => '物理专线接入设备的端口号。', + 'type' => 'string', + 'example' => '80', + ], + 'Spec' => [ + 'description' => '共享专线的带宽值。'."\n" + ."\n" + .'单位:**M**表示Mbps,**G**表示Gbps。', + 'type' => 'string', + 'example' => '50M', + ], + 'ChargeType' => [ + 'description' => '物理专线的付费方式。'."\n" + ."\n" + .'取值:**Prepaid**,表示预付费。', + 'type' => 'string', + 'example' => 'Prepaid', + ], + 'Description' => [ + 'description' => '物理专线的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'Bandwidth' => [ + 'description' => '物理专线的带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + ], + 'EnabledTime' => [ + 'description' => '物理专线的开通时间。', + 'type' => 'string', + 'example' => '2021-10-08T10:44Z', + ], + 'LineOperator' => [ + 'description' => '提供接入物理线路的运营商。取值:'."\n" + ."\n" + .'- **CT**:中国电信。'."\n" + .'- **CU**:中国联通。'."\n" + .'- **CM**:中国移动。'."\n" + .'- **CO**:中国其他。'."\n" + .'- **Equinix**:Equinix。'."\n" + .'- **Other**:境外其他。', + 'type' => 'string', + 'example' => 'CU', + ], + 'PeerLocation' => [ + 'description' => '本地数据中心的地理位置。', + 'type' => 'string', + 'example' => '浙江省杭州市XX区XX街道XX号', + ], + 'RedundantPhysicalConnectionId' => [ + 'description' => '冗余物理专线的ID。', + 'type' => 'string', + 'example' => 'pc-119mfjzm****', + ], + 'Name' => [ + 'description' => '物理专线的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'CircuitCode' => [ + 'description' => '运营商为物理专线提供的电路编码。', + 'type' => 'string', + 'example' => 'longtel001', + ], + 'EndTime' => [ + 'description' => '共享专线的到期时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2021-11-08T16:00:00Z', + ], + 'PortType' => [ + 'description' => '物理专线接入端口类型。取值:'."\n" + ."\n" + .'- **100Base-T**:百兆电口。'."\n" + .'- **1000Base-T**:千兆电口。'."\n" + .'- **1000Base-LX**:千兆单模光口(10千米)。'."\n" + .'- **10GBase-T**:万兆电口。'."\n" + .'- **10GBase-LR**:万兆单模光口(10千米)。'."\n" + .'- **40GBase-LR**:四万兆单模光口。'."\n" + .'- **100GBase-LR**:十万兆单模光口。', + 'type' => 'string', + 'example' => '10GBase-LR', + ], + 'BusinessStatus' => [ + 'description' => '物理专线的商业状态。取值:'."\n" + ."\n" + .'- **Normal**:已开通。'."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + .'- **SecurityLocked**:因安全原因被锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'LoaStatus' => [ + 'description' => 'LOA的状态。取值:'."\n" + ."\n" + .'- **Applying**:LOA申请中。'."\n" + .'- **Accept**:LOA申请通过。'."\n" + .'- **Available**:LOA可用。'."\n" + .'- **Rejected**:LOA申请驳回。'."\n" + .'- **Completing**:专线施工中。'."\n" + .'- **Complete**:专线施工完成。'."\n" + .'- **Deleted**:LOA已删除。', + 'type' => 'string', + 'example' => 'Available', + ], + 'AccessPointId' => [ + 'description' => '物理专线的接入点ID。', + 'type' => 'string', + 'example' => 'ap-cn-hangzhou-finance-yh-E', + ], + 'PhysicalConnectionId' => [ + 'description' => '共享专线实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + 'ProductType' => [ + 'description' => '物理专线类型。取值:'."\n" + ."\n" + .'- **VirtualPhysicalConnection**:共享专线。'."\n" + .'- **PhysicalConnection**:独享专线。', + 'type' => 'string', + 'example' => 'VirtualPhysicalConnection', + ], + 'ParentPhysicalConnectionId' => [ + 'description' => '物理专线的实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1ciz7ekd2grn1as****', + ], + 'VirtualPhysicalConnectionStatus' => [ + 'description' => '共享专线的业务状态。取值:'."\n" + ."\n" + .'- **Confirmed**:共享专线已确认接收。'."\n" + .'- **UnConfirmed**:共享专线未被确认接收。'."\n" + .'- **Deleted**:共享专线已被删除。', + 'type' => 'string', + 'example' => 'Confirmed', + ], + 'ParentPhysicalConnectionAliUid' => [ + 'description' => '物理专线所属的阿里云账号(主账号)ID。', + 'type' => 'string', + 'example' => '18311773240248****', + ], + 'OrderMode' => [ + 'description' => '共享专线的付费方式。取值:'."\n" + ."\n" + .'- **PayByPhysicalConnectionOwner**:表示共享专线关联的物理专线的拥有者付费。'."\n" + .'- **PayByVirtualPhysicalConnectionOwner**:表示共享专线的拥有者付费。', + 'type' => 'string', + 'example' => 'PayByPhysicalConnectionOwner', + ], + 'AliUid' => [ + 'description' => '共享专线拥有者的阿里云账号(主账号)ID。', + 'type' => 'string', + 'example' => '15346073170691****', + ], + 'VlanId' => [ + 'description' => '共享专线的VLAN ID。', + 'type' => 'string', + 'example' => '10', + ], + 'ExpectSpec' => [ + 'description' => '共享专线的预计带宽值。完成支付后,预计带宽值才能生效。'."\n" + ."\n" + .'单位:**M**表示Mbps,**G**表示Gbps。', + 'type' => 'string', + 'example' => '50M', + ], + 'ResourceGroupId' => [ + 'description' => '共享专线所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfm3wmsyui****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'dd20****', + ], + 'TotalCount' => [ + 'title' => '总数', + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Count' => [ + 'title' => '本次查询数量', + 'description' => '本次查询的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of Bandwidth [%s] is illegal.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnectionId', + 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2A55F69E-EE3D-5CBE-8805-734F7D5B46B9\\",\\n \\"VirtualPhysicalConnections\\": [\\n {\\n \\"Type\\": \\"VPC\\",\\n \\"Status\\": \\"Enabled\\",\\n \\"CreationTime\\": \\"2021-06-08T12:20:55\\",\\n \\"AdLocation\\": \\"余杭经济开发区XXX交叉口, 余杭XX机房, E***包间\\",\\n \\"PortNumber\\": \\"80\\",\\n \\"Spec\\": \\"50M\\",\\n \\"ChargeType\\": \\"Prepaid\\",\\n \\"Description\\": \\"desctest\\",\\n \\"Bandwidth\\": 50,\\n \\"EnabledTime\\": \\"2021-10-08T10:44Z\\",\\n \\"LineOperator\\": \\"CU\\",\\n \\"PeerLocation\\": \\"浙江省杭州市XX区XX街道XX号\\",\\n \\"RedundantPhysicalConnectionId\\": \\"pc-119mfjzm****\\",\\n \\"Name\\": \\"nametest\\",\\n \\"CircuitCode\\": \\"longtel001\\",\\n \\"EndTime\\": \\"2021-11-08T16:00:00Z\\",\\n \\"PortType\\": \\"10GBase-LR\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"LoaStatus\\": \\"Available\\",\\n \\"AccessPointId\\": \\"ap-cn-hangzhou-finance-yh-E\\",\\n \\"PhysicalConnectionId\\": \\"pc-bp1mrgfbtmc9brre7****\\",\\n \\"ProductType\\": \\"VirtualPhysicalConnection\\",\\n \\"ParentPhysicalConnectionId\\": \\"pc-bp1ciz7ekd2grn1as****\\",\\n \\"VirtualPhysicalConnectionStatus\\": \\"Confirmed\\",\\n \\"ParentPhysicalConnectionAliUid\\": \\"18311773240248****\\",\\n \\"OrderMode\\": \\"PayByPhysicalConnectionOwner\\",\\n \\"AliUid\\": \\"15346073170691****\\",\\n \\"VlanId\\": \\"10\\",\\n \\"ExpectSpec\\": \\"50M\\",\\n \\"ResourceGroupId\\": \\"rg-acfm3wmsyui****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"dd20****\\",\\n \\"TotalCount\\": 1,\\n \\"Count\\": 1\\n}","errorExample":""},{"type":"xml","example":"\\n 2A55F69E-EE3D-5CBE-8805-734F7D5B46B9\\n \\n VPC\\n Enabled\\n 2021-06-08T12:20:55\\n 余杭经济开发区XXX交叉口, 余杭XX机房, E***包间\\n 80\\n 50M\\n Prepaid\\n desctest\\n 50\\n 2021-10-08T10:44Z\\n CU\\n 浙江省杭州市XX区XX街道XX号\\n pc-119mfjzm****\\n nametest\\n longtel001\\n 2021-11-08T16:00:00Z\\n 10GBase-LR\\n Normal\\n Available\\n ap-cn-hangzhou-finance-yh-E\\n pc-bp1mrgfbtmc9brre7****\\n VirtualPhysicalConnection\\n pc-bp1ciz7ekd2grn1as****\\n Confirmed\\n 283117732402483989\\n PayByPhysicalConnectionOwner\\n 253460731706911258\\n 10\\n 50M\\n \\n dd20****\\n 1\\n 1\\n","errorExample":""}]', + 'title' => '查询共享专线的信息', + ], + 'OpenPhysicalConnectionService' => [ + 'summary' => '调用OpenPhysicalConnectionService接口开通出方向流量服务。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '物理专线所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'PURCHASE_QUANTITY_LIMIT', + 'errorMessage' => 'Your purchase quantity exceeds the maximum limit.', + ], + [ + 'errorCode' => 'InvalidOperation.OrderOpened', + 'errorMessage' => 'You have already open the service. Go to the console to start using it.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '开通出云流量服务', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreatePhysicalConnection' => [ + 'summary' => '调用CreatePhysicalConnection接口申请物理专线接入。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'AccessPointId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的接入点ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-cn-beijing-ft-A', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的类型。默认值为**VPC**。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + 'default' => 'VPC', + ], + ], + [ + 'name' => 'LineOperator', + 'in' => 'query', + 'schema' => [ + 'description' => '提供接入物理线路的运营商。取值:'."\n" + ."\n" + .'- **CT**:中国电信。'."\n" + ."\n" + .'- **CU**:中国联通。'."\n" + ."\n" + .'- **CM**:中国移动。'."\n" + ."\n" + .'- **CO**:中国其他。 '."\n" + ."\n" + .'- **Equinix**:Equinix。'."\n" + ."\n" + .'- **Other**:境外其他。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'CT', + ], + ], + [ + 'name' => 'bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '共享专线的带宽。单位:Mbps。'."\n" + ."\n" + .'取值分别为**50**、**100**、**200**、**300**、**400**、**500**、**1000**、**2000**、**4000**、**5000**、**8000**、**10000**。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'default' => '100', + ], + ], + [ + 'name' => 'PeerLocation', + 'in' => 'query', + 'schema' => [ + 'description' => '本地数据中心的地理位置。 ', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'XX街道', + ], + ], + [ + 'name' => 'PortType', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入端口类型。取值:'."\n" + ."\n" + .'- **100Base-T**:百兆电口。'."\n" + ."\n" + .'- **1000Base-T**:千兆电口。'."\n" + ."\n" + .'- **1000Base-LX**:千兆单模光口(10千米)。'."\n" + ."\n" + .'- **10GBase-T**:万兆电口。'."\n" + ."\n" + .'- **10GBase-LR**:万兆单模光口(10千米)。'."\n" + ."\n" + .'- **40GBase-LR**:四万兆单模光口。'."\n" + ."\n" + .'- **100GBase-LR**:十万兆单模光口。'."\n" + .' '."\n" + ."\n" + .'>40GBase-LR和100GBase-LR需要根据实际后台端口水位情况进行创建,具体水位情况请联系商务经理。 ', + 'type' => 'string', + 'required' => false, + 'example' => '1000Base-T', + 'default' => '1000Base-T', + ], + ], + [ + 'name' => 'RedundantPhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '冗余物理专线的实例ID。该专线的状态必须为**Allocated**、**Confirmed**或**Enabled**。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-119mfjzm****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的描述信息。 '."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'description', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的名称。 '."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-),但不能以`http:// `或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'description' => '运营商为物理专线提供的电路编码。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'longtel001', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmoiyermp****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DeviceAdvancedCapacity', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '设备高级能力列表。', + 'type' => 'array', + 'items' => [ + 'description' => '设备高级能力列表,取值如下:'."\n" + .'- **SubifRateLimit**:支持基于VBR粒度的带宽限速能力。'."\n" + .'- **DualStack**:支持IPv6协议能力。'."\n" + .'- **BFD**:支持转发点之间故障检测的网络协议能力。'."\n" + .'- **CEN**:支持MP-BGP协议能力。'."\n" + .'- **CENv6**:支持MP-BGPv6协议能力。'."\n" + .'- **QOS**:支持Qos能力。'."\n" + .'- **MS-HA**:支持快速倒换组。'."\n" + .'- **Multi-MS-HA**:支持多倒换组。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'BFD' => 'BFD', + 'SubifRateLimit' => 'SubifRateLimit', + 'DualStack' => 'DualStack', + 'CENv6' => 'CENv6', + 'CEN' => 'CEN', + ], + 'example' => 'CENv6', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'OpticalModuleModel', + 'in' => 'query', + 'schema' => [ + 'title' => '物理专线接入点光模块支持型号,取值:'."\n" + .'1000Base-LX : '."\n" + .'SFP-GE-LR-SM1310,10KM'."\n" + .'SFP-GE-ER-SM1310,40KM'."\n" + .'SFP-GE-ZR-SM1550,80KM '."\n" + .'10GBase-LR : '."\n" + .'SFP-10G-LR-SM1310,10KM'."\n" + .'SFP-10G-ER-SM1550,40KM '."\n" + .'SFP-10G-ZR-SM1550,80KM '."\n" + .'40GBase-LR : '."\n" + .'QSFP-40G-LR4-WDM1300,10KM'."\n" + .'QSFP-40G-ER4-WDM1300,40KM'."\n" + .'QSFP-40G-ZR4-WDM1300,80KM'."\n" + .'100GBase-LR : '."\n" + .'QSFP28-100G-LR4-WDM1300,10KM'."\n" + .'QSFP28-100G-ER4-WDM1300,40KM'."\n" + .'QSFP28-100G-ZR4-WDM1300,80KM', + 'description' => '物理专线接入点光模块支持型号,取值:'."\n" + .'- 1000Base-LX : '."\n" + .' - `SFP-GE-LR-SM1310,10KM`'."\n" + .' - `SFP-GE-ER-SM1310,40KM`'."\n" + .' - `SFP-GE-ZR-SM1550,80KM`'."\n" + .'- 10GBase-LR : '."\n" + .' - `SFP-10G-LR-SM1310,10KM`'."\n" + .' - `SFP-10G-ER-SM1550,40KM` '."\n" + .' - `SFP-10G-ZR-SM1550,80KM` '."\n" + .'- 40GBase-LR : '."\n" + .' - `QSFP-40G-LR4-WDM1300,10KM`'."\n" + .' - `QSFP-40G-ER4-WDM1300,40KM`'."\n" + .' - `QSFP-40G-ZR4-WDM1300,80KM`'."\n" + .'- 100GBase-LR : '."\n" + .' - `QSFP28-100G-LR4-WDM1300,10KM`'."\n" + .' - `QSFP28-100G-ER4-WDM1300,40KM`'."\n" + .' - `QSFP28-100G-ZR4-WDM1300,80KM`', + 'type' => 'string', + 'required' => false, + 'example' => 'SFP-GE-LR-SM1310,10KM', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PhysicalConnectionId' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1ciz7ekd2grn1as****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8A6A5EC5-6F6C-4906-9689-56ACE58A13E0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.Status', + 'errorMessage' => 'The device or interface status invalid, or has been used..', + ], + [ + 'errorCode' => 'InvalidType.Malformd', + 'errorMessage' => 'The Type provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPeerLocation.Malformd', + 'errorMessage' => 'The PeerLocation provided was invalid.', + ], + [ + 'errorCode' => 'InvalidLineOperator.Malformd', + 'errorMessage' => 'The LineOperator provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPortType.Malformd', + 'errorMessage' => 'The PortType provided was invalid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid ?Description? is not valid.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionId.NotFound', + 'errorMessage' => 'The RedundantPhysicalConnectionId does not found.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified ?Name? is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.pConnPerAP', + 'errorMessage' => 'Physical connection count per ap quota exceed.', + ], + [ + 'errorCode' => 'InvalidBandwidth', + 'errorMessage' => 'invalid physical connection banwidth.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnection', + 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionStatus', + 'errorMessage' => 'invalid redundant physical connection status.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'circuitCode is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.freePconnPerAP', + 'errorMessage' => 'free physical connections count excceeded.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionPortType.Malformed', + 'errorMessage' => 'Specified PhysicalConnection PortType is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.ClientToken', + 'errorMessage' => 'Token verify failed because client token length too long.', + ], + [ + 'errorCode' => 'InvalidPortType.NotFound', + 'errorMessage' => 'Specified port type is not found.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'InvalidAccessPointId.NotEnabled', + 'errorMessage' => 'Invalid access point status.', + ], + [ + 'errorCode' => 'ResourceNotFound.AccessPointId', + 'errorMessage' => 'The specified resource of access point id is not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidPortType.NotFound', + 'errorMessage' => 'There are no resources with the portType.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PhysicalConnectionId\\": \\"pc-bp1ciz7ekd2grn1as****\\",\\n \\"RequestId\\": \\"8A6A5EC5-6F6C-4906-9689-56ACE58A13E0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n pc-bp1ciz7ekd2grn1as****\\n 8A6A5EC5-6F6C-4906-9689-56ACE58A13E0\\n","errorExample":""}]', + 'title' => '申请物理专线接入', + 'description' => '您可以申请独享物理专线,也可以为租户申请共享物理专线。 申请完成后,物理专线的状态为**Initial**,请联系运营商进行施工。 '."\n" + .' '."\n" + .'调用该接口时,请注意: '."\n" + .' '."\n" + .'- 申请物理专线时,处于**Enabled**状态之外的物理专线不得超过5条。 '."\n" + ."\n" + .'- 若账号下存在欠费状态的物理专线,则不能再申请物理专线。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ApplyPhysicalConnectionLOA' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + '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' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线带宽值。单位:Mbps。'."\n" + ."\n" + .'取值范围:**2**~**10240**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'default' => '100', + ], + ], + [ + 'name' => 'PeerLocation', + 'in' => 'query', + 'schema' => [ + 'description' => '部署物理专线的地理位置。', + 'type' => 'string', + 'required' => false, + 'example' => '杭州', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-bp1qrb3044eqi****', + ], + ], + [ + 'name' => 'CompanyName', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入的客户公司名称。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'company', + ], + ], + [ + 'name' => 'LineType', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线类型。取值:'."\n" + ."\n" + .'- **MSTP**:MSTP专线。'."\n" + .'- **MPLSVPN**:MPLSVPN专线。'."\n" + .'- **FIBRE**:光纤直连。'."\n" + .'- **Other**:其它类型专线。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'FIBRE', + ], + ], + [ + 'name' => 'Si', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线施工单位。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '阿里', + ], + ], + [ + 'name' => 'ConstructionTime', + 'in' => 'query', + 'schema' => [ + 'description' => '施工单位入场时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '2022-02-28T16:00:00Z', + ], + ], + [ + 'name' => 'PMInfo', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '施工工程师信息。'."\n" + ."\n" + .'> 该参数为必填参数,请填写相关信息。', + 'type' => 'array', + 'items' => [ + 'description' => "\n" + .'施工工程师信息。', + 'type' => 'object', + 'properties' => [ + 'PMCertificateNo' => [ + 'description' => '施工工程师证件号码,可以填身份证号码或者国际护照号码。'."\n" + ."\n" + .'最多可配置16个施工工程师的信息。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '5****************9', + ], + 'PMName' => [ + 'description' => '施工工程师姓名。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '张三', + ], + 'PMCertificateType' => [ + 'description' => '施工工程师证件类型。取值:'."\n" + ."\n" + .'- **IDCard**:身份证。'."\n" + .'- **Passport**:国际护照。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'IDCard', + ], + 'PMGender' => [ + 'description' => '施工工程师性别。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'Male', + ], + 'PMContactInfo' => [ + 'description' => '施工工程师联系方式。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '1390000****', + ], + ], + 'required' => false, + 'docRequired' => true, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A47BD386-7FDE-42C4-8D22-C6223D18AA1C', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.AliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.RegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.PMInfo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.LineOperator', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.LineType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PeerLocation', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PmCertificateType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PmCertificateNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PmContactInfo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PmGender', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PmName', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Si', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidConstructionTime.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnectionLOA', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnection', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.CompanyName', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of bandwidth is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A47BD386-7FDE-42C4-8D22-C6223D18AA1C\\"\\n}","errorExample":""},{"type":"xml","example":"\\n A47BD386-7FDE-42C4-8D22-C6223D18AA1C\\n","errorExample":""}]', + 'title' => '申请LOA', + 'summary' => '调用ApplyPhysicalConnectionLOA接口申请LOA。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SecondApplyPhysicalConnectionLOA' => [ + 'summary' => '如果之前调用ApplyPhysicalConnectionLOA接口申请LOA被拒绝,可以调用本接口重新申请LOA。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。 '."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。 '."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域。您可以通过调用[describeregions](~~36063~~)接口获取地域id。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线带宽值。单位:Mbps。'."\n" + ."\n" + .'取值范围:**2**~**10240**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'default' => '100', + ], + ], + [ + 'name' => 'PeerLocation', + 'in' => 'query', + 'schema' => [ + 'description' => '部署物理专线的地理位置。', + 'type' => 'string', + 'required' => false, + 'example' => '杭州', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-bp1qrb3044eqi****', + ], + ], + [ + 'name' => 'CompanyName', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入的客户公司名称。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'company', + ], + ], + [ + 'name' => 'LineType', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线类型。取值:'."\n" + ."\n" + .'- **MSTP**'."\n" + .'- **MPLSVPN**'."\n" + .'- **FIBRE**'."\n" + .'- **Other**', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'FIBRE', + ], + ], + [ + 'name' => 'Si', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线施工单位。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '阿里', + ], + ], + [ + 'name' => 'ConstructionTime', + 'in' => 'query', + 'schema' => [ + 'description' => '施工单位入场时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '2022-02-28T16:00:00Z', + ], + ], + [ + 'name' => 'PMInfo', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '施工工程师信息。', + 'type' => 'array', + 'items' => [ + 'description' => '施工工程师信息。', + 'type' => 'object', + 'properties' => [ + 'PMCertificateNo' => [ + 'description' => '施工工程师证件号码,可以填身份证号码或者国际护照号码。'."\n" + ."\n" + .'最多可配置16个施工工程师的信息。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '5****************9 '."\n", + ], + 'PMName' => [ + 'description' => '施工工程师姓名。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '张三', + ], + 'PMCertificateType' => [ + 'description' => '施工工程师证件类型。取值:'."\n" + ."\n" + .'- **IDCard**:身份证。'."\n" + .'- **Passport**:国际护照。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'IDCard', + ], + 'PMGender' => [ + 'description' => '施工工程师性别。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'Male', + ], + 'PMContactInfo' => [ + 'description' => '施工工程师联系方式。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '1390000****', + ], + ], + 'required' => false, + 'docRequired' => true, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A47BD386-7FDE-42C4-8D22-C6223D18AA1C '."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'Invalid Bandwidth.', + ], + [ + 'errorCode' => 'IllegalParam.CompanyLocalizedName', + 'errorMessage' => 'Invalid CompanyLocalizedName.', + ], + [ + 'errorCode' => 'IllegalParam.CompanyName', + 'errorMessage' => 'Invalid CompanyName.', + ], + [ + 'errorCode' => 'IllegalParam.LineType', + 'errorMessage' => 'Invalid LineType.', + ], + [ + 'errorCode' => 'IllegalParam.PeerLocation', + 'errorMessage' => 'Invalid PeerLocation.', + ], + [ + 'errorCode' => 'IllegalParam.PmCertificateType', + 'errorMessage' => 'Invalid PmCertificateType.', + ], + [ + 'errorCode' => 'IllegalParam.PmCertificateNo', + 'errorMessage' => 'Invalid PmCertificateNo.', + ], + [ + 'errorCode' => 'IllegalParam.PmContactInfo', + 'errorMessage' => 'Invalid PmContactInfo.', + ], + [ + 'errorCode' => 'IllegalParam.PmGender', + 'errorMessage' => 'Invalid PmGender.', + ], + [ + 'errorCode' => 'IllegalParam.PmName', + 'errorMessage' => 'Invalid PmName.', + ], + [ + 'errorCode' => 'IllegalParam.Si', + 'errorMessage' => 'Invalid Si.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'InstanceId is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnection', + 'errorMessage' => 'Invalid physical connection status.', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnectionLOA', + 'errorMessage' => 'Invalid Express Connect circuit LOA status.', + ], + [ + 'errorCode' => 'OperationDenied.LOAForVirtualPhysicalConnection', + 'errorMessage' => 'The operation is not allowed because of LOAForVirtualPhysicalConnection.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter InstanceId is mandatory.', + ], + [ + 'errorCode' => 'MissingParam.ConstructionTime', + 'errorMessage' => 'The parameter ConstructionTime is mandatory.', + ], + [ + 'errorCode' => 'MissingParam.PMInfo', + 'errorMessage' => 'The parameter PMInfo is mandatory.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A47BD386-7FDE-42C4-8D22-C6223D18AA1C\\\\t\\\\n\\"\\n}","type":"json"}]', + 'title' => '再次申请物理专线LOA', + ], + 'CreatePhysicalConnectionSetupOrder' => [ + 'summary' => '调用CreatePhysicalConnectionSetupOrder创建端口初装费订单。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'AccessPointId', + 'in' => 'query', + 'schema' => [ + 'description' => '接入点ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-cn-beijing-ft-A', + ], + ], + [ + 'name' => 'LineOperator', + 'in' => 'query', + 'schema' => [ + 'description' => '提供接入物理线路的运营商。取值:'."\n" + ."\n" + .'- **CT**:中国电信'."\n" + ."\n" + .'- **CU**:中国联通'."\n" + ."\n" + .'- **CM**:中国移动'."\n" + ."\n" + .'- **CO**:中国其他'."\n" + ."\n" + .'- **Equinix**:Equinix'."\n" + ."\n" + .'- **Other**:中国境外其他', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'CT', + ], + ], + [ + 'name' => 'PortType', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入端口类型。取值:'."\n" + ."\n" + .'- **100Base-T**:百兆电口。'."\n" + ."\n" + .'- **1000Base-T**(默认值):千兆电口。'."\n" + ."\n" + .'- **1000Base-LX**:千兆单模光口(10千米)。'."\n" + ."\n" + .'- **10GBase-T**:万兆电口。'."\n" + ."\n" + .'- **10GBase-LR**:万兆单模光口(10千米)。'."\n" + ."\n" + .'- **40GBase-LR**:四万兆单模光口。'."\n" + ."\n" + .'- **100GBase-LR**:十万兆单模光口。'."\n" + ."\n" + .'> 40GBase-LR和100GBase-LR需要根据实际后台端口水位情况进行创建,具体水位情况请联系商务经理。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100Base-T', + 'default' => '1000Base-T', + ], + ], + [ + 'name' => 'RedundantPhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '冗余物理专线的ID,该专线的状态必须为**Allocated**、**Confirmed**或**Enabled**。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp10zsv5ntp****', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付。取值:'."\n" + ."\n" + .'- **false**(默认值):不自动支付。'."\n" + .'- **true**:自动支付。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '318BB676-0A2B-43A0-9AD8-F1D34E93750F', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '318BB676-0A2B-43A0-9AD8-F1D34E93750F', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', + ], + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '202844382740728', + ], + 'PhysicalConnectionId' => [ + 'description' => '物理专线ID。', + 'type' => 'string', + 'example' => 'pc-2zegmc02v7ss4****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPrice.NotFound', + 'errorMessage' => 'Pricing plan result not found.', + ], + [ + 'errorCode' => 'QuotaExceeded.PerAccessPoint', + 'errorMessage' => 'Physical connection count per ap quota exceed.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionPortType.Malformed', + 'errorMessage' => 'Specified PhysicalConnection PortType is not valid.', + ], + [ + 'errorCode' => 'InvalidPortType.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.AccessPoint', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AccessPoint.NotFound', + 'errorMessage' => 'The input access point does not exist or does not have permission to view it.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F7A6301A-64BA-41EC-8284-8F4838C15D1F\\",\\n \\"OrderId\\": \\"202844382740728\\",\\n \\"PhysicalConnectionId\\": \\"pc-2zegmc02v7ss4****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F7A6301A-64BA-41EC-8284-8F4838C15D1F\\n 202844382740728\\n pc-2zegmc02v7ss4****\\n","errorExample":""}]', + 'title' => '创建端口初装费订单', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreatePhysicalConnectionOccupancyOrder' => [ + 'summary' => '调用CreatePhysicalConnectionOccupancyOrder接口创建资源占用费用的订单。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp1hp0wr072f6****', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长。'."\n" + ."\n" + .'- 当**PricingCycle**取值**Month**时,**Period**取值范围为**1~9**。'."\n" + .'- 当**PricingCycle**取值**Year**时,**Period**取值范围为**1~5**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的付费方式。取值:'."\n" + ."\n" + .'**PrePaid**:预付费,包年包月。选择该类付费方式时,您必须确认您阿里云账号支持余额支付或信用支付。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付。取值:'."\n" + ."\n" + .'- **true**:自动支付。您需要确保账户余额充足,如果账户余额不足会生成异常订单,只能作废订单。'."\n" + .'- **false**(默认值):只生成订单不扣费。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => ' 预付费的计费周期,取值:'."\n" + ."\n" + .'- **Month**(默认值):按月购买。'."\n" + .'- **Year**:按年购买。'."\n" + ."\n\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。', + 'type' => 'string', + 'required' => false, + 'example' => 'CBCE910E-D396-4944', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开通自动续费。取值:'."\n" + ."\n" + .'- **false**(默认值):不开通。'."\n" + .'- **true**:开通。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoRenewDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '自动续费时长。单位:月。取值范围:**0**~**2147483647**。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9B9300FE-11E2-4E3B-949C-BED3B44DD26D', + ], + 'Data' => [ + 'description' => '数据的详细信息。', + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '已下订单的ID。', + 'type' => 'string', + 'example' => '50187055895****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IAbs.InvalidStatus.ValueNotSupported', + 'errorMessage' => 'status is not supported.', + ], + [ + 'errorCode' => 'InvalidPrice.NotFound', + 'errorMessage' => 'Pricing plan result not found.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionChargeType.Malformed', + 'errorMessage' => 'Specified Physical Connection ChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionPeriod.Malformed', + 'errorMessage' => 'Specified Physical Connection Period is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionPricingCycle.Malformed', + 'errorMessage' => 'Specified Physical Connection PricingCycle is not valid.', + ], + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + [ + 'errorCode' => 'INSTANCE.STATUS.NOT.ALLOW', + 'errorMessage' => 'Instance status not allow', + ], + [ + 'errorCode' => 'Abs.InstanceNotExist', + 'errorMessage' => 'The specified instance does not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnection', + 'errorMessage' => 'Invalid physical connection status.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B9300FE-11E2-4E3B-949C-BED3B44DD26D\\",\\n \\"Data\\": {\\n \\"OrderId\\": \\"50187055895****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 9B9300FE-11E2-4E3B-949C-BED3B44DD26D\\n \\n 50187055895****\\n \\n","errorExample":""}]', + 'title' => '创建资源占用费订单', + 'description' => '> 只有物理专线状态为等待用户支付(**Complete**)的实例允许执行此操作。', + ], + 'CreateHighReliablePhysicalConnection' => [ + 'summary' => '创建高可靠模式物理专线,以满足您多线接入阿里云上业务的稳定性以及多线路容灾后可避免因为单线而导致的业务受损。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'HighReliableType', + 'in' => 'query', + 'schema' => [ + 'description' => '高可靠模式。取值:'."\n" + ."\n" + .'- **MultiApMultiDevice**:最强容灾能力。该模式支持两个不同接入点和两台不同设备,具备最强容灾能力。'."\n" + .'- **MultiApSingleDevice**:强大容灾能力。该模式支持两个不同接入点和一台设备,具备强大容灾能力。'."\n" + .'- **SingleApMultiDevice**:开发和测试。该模式支持一个接入点和两台设备,一般仅推荐用于非关键业务的开发和测试工作。'."\n" + .'- **SingleApMultiConnection**:大带宽负载均衡能力。该模式为白名单开放,支持一个接入点一台设备多个物理端口,如有需求请联系商务经理。', + 'type' => 'string', + 'required' => true, + 'example' => 'MultiApMultiDevice', + ], + ], + [ + 'name' => 'PortType', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入端口类型。取值:'."\n" + ."\n" + .'- **1000Base-LX**:千兆单模光口(10千米)。'."\n" + ."\n" + .'- **10GBase-LR**:万兆单模光口(10千米)。'."\n" + ."\n" + .'- **40GBase-LR**:四万兆单模光口。'."\n" + ."\n" + .'- **100GBase-LR**:十万兆单模光口。'."\n" + .' '."\n" + .'>40GBase-LR和100GBase-LR需要根据实际后台端口水位情况进行创建,具体水位情况请联系商务经理。', + 'type' => 'string', + 'required' => true, + 'example' => '1000Base-LX', + ], + ], + [ + 'name' => 'DeviceAdvancedCapacity', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '设备高级能力列表', + 'type' => 'array', + 'items' => [ + 'description' => '设备高级能力。取值:'."\n" + .'- **SubifRateLimit**:VBR限速。'."\n" + .'- **DualStack**:支持IPv6。'."\n" + .'- **BFD**:双向转发检测。'."\n" + .'- **CEN**:支持多协议BGP。'."\n" + .'- **CENv6**:支持多协议BGPv6。'."\n" + .'- **QOS**:支持Qos能力。'."\n" + .'- **MS-HA**:支持快速倒换组。'."\n" + .'- **Multi-MS-HA**:支持多倒换组。', + 'type' => 'string', + 'required' => false, + 'example' => 'SubifRateLimit', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ApList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '接入点列表', + 'type' => 'array', + 'items' => [ + 'description' => '接入点列表', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '物理专线的名称。 '."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-),但不能以`http:// `或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Description' => [ + 'description' => '物理专线的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'description', + ], + 'RegionId' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + 'LineOperator' => [ + 'description' => '提供接入物理线路的运营商。取值:'."\n" + ."\n" + .'- **CT**:中国电信。'."\n" + ."\n" + .'- **CU**:中国联通。'."\n" + ."\n" + .'- **CM**:中国移动。'."\n" + ."\n" + .'- **CO**:中国其他。 '."\n" + ."\n" + .'- **Equinix**:Equinix。'."\n" + ."\n" + .'- **Other**:境外其他。', + 'type' => 'string', + 'required' => true, + 'example' => 'CT', + ], + 'AccessPointId' => [ + 'description' => '物理专线所在的接入点ID。'."\n" + ."\n" + .'> **HighReliableType**为**MultiApMultiDevice**和**MultiApSingleDevice**的时候要求传入两个不同的接入点,**HighReliableType**为**SingleApMultiDevice**和**SingleApMultiConnection**的时候要求传入一个接入点。', + 'type' => 'string', + 'required' => true, + 'example' => 'ap-cn-beijing-ft-A', + ], + 'PortNum' => [ + 'description' => '端口数量。仅在**HighReliableType**为**SingleApMultiConnection**的时候要求传入,取值范围为2-16。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + 'Type' => [ + 'description' => '物理专线的类型。默认值为**VPC**。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + 'Bandwidth' => [ + 'description' => '共享专线的带宽。单位:Mbps。'."\n" + ."\n" + .'取值分别为50、100、200、300、400、500、1000、2000、4000、5000、8000、10000。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50', + ], + 'PeerLocation' => [ + 'description' => '本地数据中心的地理位置。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'XX街道', + ], + 'CircuitCode' => [ + 'description' => '运营商为物理专线提供的电路编码。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'longtel001', + ], + 'OpticalModuleModel' => [ + 'title' => '物理专线接入点光模块支持型号,取值:'."\n" + .'1000Base-LX : '."\n" + .'SFP-GE-LR-SM1310,10KM'."\n" + .'SFP-GE-ER-SM1310,40KM'."\n" + .'SFP-GE-ZR-SM1550,80KM '."\n" + .'10GBase-LR : '."\n" + .'SFP-10G-LR-SM1310,10KM'."\n" + .'SFP-10G-ER-SM1550,40KM '."\n" + .'SFP-10G-ZR-SM1550,80KM '."\n" + .'40GBase-LR : '."\n" + .'QSFP-40G-LR4-WDM1300,10KM'."\n" + .'QSFP-40G-ER4-WDM1300,40KM'."\n" + .'QSFP-40G-ZR4-WDM1300,80KM'."\n" + .'100GBase-LR : '."\n" + .'QSFP28-100G-LR4-WDM1300,10KM'."\n" + .'QSFP28-100G-ER4-WDM1300,40KM'."\n" + .'QSFP28-100G-ZR4-WDM1300,80KM', + 'description' => '物理专线接入点光模块支持型号,取值:'."\n" + .'- 1000Base-LX : '."\n" + .' - `SFP-GE-LR-SM1310,10KM`'."\n" + .' - `SFP-GE-ER-SM1310,40KM`'."\n" + .' - `SFP-GE-ZR-SM1550,80KM`'."\n" + .'- 10GBase-LR : '."\n" + .' - `SFP-10G-LR-SM1310,10KM`'."\n" + .' - `SFP-10G-ER-SM1550,40KM` '."\n" + .' - `SFP-10G-ZR-SM1550,80KM` '."\n" + .'- 40GBase-LR : '."\n" + .' - `QSFP-40G-LR4-WDM1300,10KM`'."\n" + .' - `QSFP-40G-ER4-WDM1300,40KM`'."\n" + .' - `QSFP-40G-ZR4-WDM1300,80KM`'."\n" + .'- 100GBase-LR : '."\n" + .' - `QSFP28-100G-LR4-WDM1300,10KM`'."\n" + .' - `QSFP28-100G-ER4-WDM1300,40KM`'."\n" + .' - `QSFP28-100G-ZR4-WDM1300,80KM`', + 'type' => 'string', + 'required' => false, + 'example' => 'SFP-GE-LR-SM1310,10KM', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送检查请求,不会启动实例。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,返回编码`DRYRUN.FAIL`,并且返回对应错误列表。如果检查通过,则返回编码`DRYRUN.SUCCESS`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接启动实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '返回结果显示的语言。取值:'."\n" + ."\n" + .'- **zh-CN**(默认值):中文。'."\n" + .'- **en-US**:英文。', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'PhysicalConnectionList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'physicalConnectionList' => [ + 'description' => '物理专线实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '物理专线实例列表。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'example' => 'pc-j5e5qqo616p81ncsp****', + ], + 'RegionNo' => [ + 'description' => '物理专线实例对应的地域ID', + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + ], + ], + ], + ], + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'ErrorInfoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'errorInfoList' => [ + 'description' => 'dryrun不通过的时候,返回的错误码和错误信息,会返回所有的错误信息,主要包括:'."\n" + ."\n" + .'- `pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing`:用户没有开通出云流量费。'."\n" + ."\n" + .'- `pconn.high.reliable.dryrun.error.incompatable.device.capacity`:用户选择的接入点没有设备符合设备高级能力。'."\n" + ."\n" + .'- `pconn.high.reliable.dryrun.error.quota.exceeded`:用户的quota不足。'."\n" + ."\n" + .'- `pconn.high.reliable.dryrun.error.not.enough.resource`:接入点资源不足。', + 'type' => 'array', + 'items' => [ + 'description' => '错误码。', + 'type' => 'object', + 'properties' => [ + 'ErrorCode' => [ + 'description' => '错误码。', + 'type' => 'string', + 'example' => 'pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing', + ], + 'ErrorMessage' => [ + 'description' => '错误信息。', + 'type' => 'string', + 'example' => 'pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing', + ], + 'InstanceId' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'example' => 'pc-j5e5qqo616p81ncsp****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.Status', + 'errorMessage' => 'The device or interface status invalid, or has been used..', + ], + [ + 'errorCode' => 'InvalidType.Malformd', + 'errorMessage' => 'The Type provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPeerLocation.Malformd', + 'errorMessage' => 'The PeerLocation provided was invalid.', + ], + [ + 'errorCode' => 'InvalidLineOperator.Malformd', + 'errorMessage' => 'The LineOperator provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPortType.Malformd', + 'errorMessage' => 'The PortType provided was invalid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid ?Description? is not valid.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionId.NotFound', + 'errorMessage' => 'The RedundantPhysicalConnectionId does not found.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified ?Name? is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.pConnPerAP', + 'errorMessage' => 'Physical connection count per ap quota exceed.', + ], + [ + 'errorCode' => 'InvalidBandwidth', + 'errorMessage' => 'invalid physical connection banwidth.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnection', + 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionStatus', + 'errorMessage' => 'invalid redundant physical connection status.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'circuitCode is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.freePconnPerAP', + 'errorMessage' => 'free physical connections count excceeded.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionPortType.Malformed', + 'errorMessage' => 'Specified PhysicalConnection PortType is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.ClientToken', + 'errorMessage' => 'Token verify failed because client token length too long.', + ], + [ + 'errorCode' => 'InvalidPortType.NotFound', + 'errorMessage' => 'Specified port type is not found.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'EcNotSupportRegion', + 'errorMessage' => 'High reliable physical connection is not support in this region.', + ], + [ + 'errorCode' => 'EcFailToGetAp', + 'errorMessage' => 'Fail to get access point details.', + ], + [ + 'errorCode' => 'EcNotEnoughResource', + 'errorMessage' => 'Insufficient access point resources.', + ], + [ + 'errorCode' => 'IllegalParam.UnsupportedAccessPoint', + 'errorMessage' => 'The access point type does not support the creation of a highly reliable physical connection.', + ], + [ + 'errorCode' => 'ResourceNotFound.AccessPointId', + 'errorMessage' => 'The specified resource of access point id is not found.', + ], + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidPortType.NotFound', + 'errorMessage' => 'There are no resources with the portType.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribePhysicalConnections', + 'callbackInterval' => 5, + 'maxCallbackTimes' => 100, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PhysicalConnectionList\\": {\\n \\"physicalConnectionList\\": [\\n {\\n \\"InstanceId\\": \\"pc-j5e5qqo616p81ncsp****\\",\\n \\"RegionNo\\": \\"cn-shanghai\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"ErrorInfoList\\": {\\n \\"errorInfoList\\": [\\n {\\n \\"ErrorCode\\": \\"pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing\\",\\n \\"ErrorMessage\\": \\"pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing\\",\\n \\"InstanceId\\": \\"pc-j5e5qqo616p81ncsp****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '创建高可靠物理专线', + 'description' => '您在购买端口时,可以选择以下三种组合类型为您的业务或工作提供容灾能力。'."\n" + .'- 最强容灾能力:您将申请2个接入点内的资源,建立4条独立的物理专线连接。对于最强容灾能力的SLA可用性指标不低于99.99%。'."\n" + ."\n" + .'- 强大容灾能力:您将申请2个接入点内的资源,建立2条独立的物理专线连接。对于强大容灾能力的SLA可用性指标不低于99.95%。'."\n" + ."\n" + .'- 开发和测试:您将申请1个接入点的资源,建立2条独立的物理专线连接。', + ], + 'CreateVpconnFromVbr' => [ + 'summary' => '将共享专线从推送跨账号边界路由器VBR(Virtual Border Router)的方式转换为推送跨账号共享端口的方式。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'OrderMode', + 'in' => 'query', + 'schema' => [ + 'title' => 'vpconn的支付方', + 'description' => '共享专线的付费方式。取值:'."\n" + ."\n" + .'- **PayByPhysicalConnectionOwner**:表示共享专线关联的物理专线的拥有者付费。'."\n" + .'- **PayByVirtualPhysicalConnectionOwner**:表示共享专线的拥有者付费。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByVirtualPhysicalConnectionOwner', + 'enum' => [ + 'PayByVirtualPhysicalConnectionOwner', + 'PayByPhysicalConnectionOwner', + ], + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'title' => '跨帐号的VBR', + 'description' => '跨账号的VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-bp136flp1mf8mlq6r****', + ], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等Token', + 'description' => '客户端Token用于保证请求的幂等性。'."\n" + ."\n" + .'要保证Client Token在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => 'DryRun', + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送检查请求,不会转换共享专线形式。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回对应请求ID。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接转换共享专线形式。', + '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-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5356F028-0F5C-56FC-8574-897D24379041', + ], + 'VirtualPhysicalConnection' => [ + 'title' => 'Vpconn的实例ID', + 'description' => '共享专线实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.TargetUserPconnTrafficNotEnable', + 'errorMessage' => 'The operation failed because of TargetUserPconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Bandwidth', + 'errorMessage' => 'The specified resource of Bandwidth is not enough.', + ], + [ + 'errorCode' => 'OperationFailed.VbrBindedPconn', + 'errorMessage' => 'The operation is failed because of VbrBindedPconn.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of Bandwidth [%s] is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.VbrId', + 'errorMessage' => 'The status of %s is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnectionId', + 'errorMessage' => 'PhysicalConnection is not found.', + ], + [ + 'errorCode' => 'OperationFailed.VPconnCreated', + 'errorMessage' => 'The operation is failed because of VPconnCreated.', + ], + [ + 'errorCode' => 'OperationFailed.BandwidthOrVlanIdEmpty', + 'errorMessage' => 'The operation is failed because of BandwidthOrVlanIdEmpty.', + ], + [ + 'errorCode' => 'ResourceNotFound.VirtualBorderRouter', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5356F028-0F5C-56FC-8574-897D24379041\\",\\n \\"VirtualPhysicalConnection\\": \\"pc-bp1mrgfbtmc9brre7****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5356F028-0F5C-56FC-8574-897D24379041\\n pc-bp1mrgfbtmc9brre7****\\n","errorExample":""}]', + 'title' => '转换共享专线推送方式', + 'description' => '通过CreateVpconnFromVbr接口,合作伙伴可以将租户使用的共享专线从推送跨账号VBR的方式转换为推送跨账号共享端口的方式。转换过程不会影响租户的业务。'."\n" + ."\n" + .'在执行转换操作前:'."\n" + ."\n" + .'合作伙伴需提前知会租户关于服务升级的相关事项,并确保租户已开通出方向流量费。关于如何开通出方向流量费,请参见[开通出方向流量费](~~274385~~)。'."\n" + ."\n" + .'在转换操作完成后:'."\n" + ."\n" + .'1. 租户的账号下会新增一个共享端口,租户需调用[ConfirmPhysicalConnection](~~324198~~)接口确认接收共享端口。'."\n" + .'2. 在租户确认接收共享端口后,合作伙伴需调用[AttachVbrToVpconn](~~324191~~)接口将VBR实例绑定至租户的共享专线实例。', + ], + 'DeletePhysicalConnection' => [ + 'summary' => '调用DeletePhysicalConnection接口删除物理专线连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-119mfjzm7*********', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotMatched', + 'errorMessage' => 'instance id not matched.', + ], + [ + 'errorCode' => 'Forbidden.VBRExists', + 'errorMessage' => 'physical connection owner\'s vbr still exists.', + ], + [ + 'errorCode' => 'Forbidden.AssociateToVBR', + 'errorMessage' => 'The physical connection still associate to VBR.', + ], + [ + 'errorCode' => 'OperationDenied.NeedVpconnOwner', + 'errorMessage' => 'The operation is denied.', + ], + [ + 'errorCode' => 'OperationDenied.NeedPconnOwner', + 'errorMessage' => 'The operation is denied.', + ], + [ + 'errorCode' => 'Forbidden.NotInAllowDeleteStatus', + 'errorMessage' => 'Only physical connection in the Cancelled, Rejected, Terminated, Allocated, or AllocationFailed states can be deleted.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.PconnQos', + 'errorMessage' => 'The specified resource of PconnQos is already associated.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnectionId', + 'errorMessage' => 'PhysicalConnection is not found.', + ], + [ + 'errorCode' => 'OperationDenied.NeedVpconnOwnerOrPconnOwner', + 'errorMessage' => 'The deletion failed. Only the owner of virtual physical connection or physical connection can delete it.', + ], + [ + 'errorCode' => 'OperationDenied.ExistVbrInPhysicalConnection', + 'errorMessage' => 'It cannot be deleted when VBR exists.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n"}]', + 'title' => '删除物理专线', + 'description' => '只能删除**Allocated**、**Confirmed**、**Rejected**、**Canceled**、**AllocationFailed**和**Terminated**状态的物理专线连接。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelPhysicalConnection' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 物理专线的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-119mfjzm7****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":"{\\n \\"RequestId\\": \\"BE36E95A-F83E-4127-A29E-F2F35D4C999A\\"\\n}"}]', + 'title' => '取消物理专线接入', + 'summary' => '取消物理专线接入,取消后物理专线进入Canceled状态。', + 'description' => '只能取消处于**Initial**、**Approved**、**Allocated**和**Confirmed**状态(未开通状态)的物理专线接入。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyPhysicalConnectionAttribute' => [ + 'summary' => '调用ModifyPhysicalConnectionAttribute接口修改物理专线的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-119mfjzm******', + ], + ], + [ + 'name' => 'LineOperator', + 'in' => 'query', + 'schema' => [ + 'description' => '提供接入物理线路的运营商,取值: '."\n" + .' '."\n" + .'- **CT**:中国电信 '."\n" + ."\n" + .'- **CU**:中国联通 '."\n" + ."\n" + .'- **CM**:中国移动 '."\n" + ."\n" + .'- **CO**:中国其他 '."\n" + ."\n" + .'- **Equinix**:Equinix '."\n" + ."\n" + .'- **Other**:境外其他 '."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'CT', + ], + ], + [ + 'name' => 'bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入接口带宽,单位Mbps,取值范围:2~10240。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'PeerLocation', + 'in' => 'query', + 'schema' => [ + 'description' => ' 本地数据中心的地理位置。 ', + 'type' => 'string', + 'required' => false, + 'example' => '浙江省杭州市XX区XX街道XX号', + ], + ], + [ + 'name' => 'PortType', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入端口类型,取值: '."\n" + .' '."\n" + .'- **100Base-T**:百兆电口。 '."\n" + ."\n" + .'- **1000Base-T(默认值)**:千兆电口。 '."\n" + ."\n" + .'- **1000Base-LX**:千兆单模光口(10千米)。 '."\n" + ."\n" + .'- **10GBase-T**:万兆电口 。 '."\n" + ."\n" + .'- **10GBase-LR**:万兆单模光口(10千米) 。 '."\n" + ."\n" + .'- **40GBase-LR**:四万兆单模光口。 '."\n" + ."\n" + .'- **100GBase-LR**:十万兆单模光口。 '."\n" + ."\n" + .'> 40GBase-LR和100GBase-LR需要根据实际后台端口水位情况进行创建,具体水位情况请联系商务经理。'."\n" + ."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => '1000Base-LX', + ], + ], + [ + 'name' => 'RedundantPhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '冗余物理专线的ID,该专线的状态必须为**Allocated**、**Confirmed**或**Enabled**。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-119mfjzm7', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => ' 物理专线的描述信息。 '."\n" + ."\n" + .'长度为 2~256个字符,必须以字母或中文开头,但不能以`http:// `或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => '物理专线的描述信息', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的名称。 '."\n" + ."\n" + .'长度为 2~128个字符,必须以字母或中文开头,可包含数字,半角句号(.),下划线(_)和短划线(-)。但不能以`http:// `或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => '物理专线的名称', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'efefe566754h', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'efefe566754h', + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'description' => '运营商为物理专线提供的电路编码。', + 'type' => 'string', + 'required' => false, + 'example' => 'longtel001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '013EE132-A109-4247-91B0-099A8FF49AD7', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidLineOperator.Malformd', + 'errorMessage' => 'The LineOperator provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPeerLocation.Malformd', + 'errorMessage' => 'The PeerLocation provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPortType.Malformd', + 'errorMessage' => 'The PortType provided was invalid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified ?Name? is not valid.', + ], + [ + 'errorCode' => 'InvalidStatus', + 'errorMessage' => 'invalid physical connection status.', + ], + [ + 'errorCode' => 'InvalidBandwidth', + 'errorMessage' => 'invalid physical connection banwidth.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnection', + 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionStatus', + 'errorMessage' => 'invalid redundant physical connection status.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'circuitCode is illegal.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.VPconn', + 'errorMessage' => 'The operation is not allowed because of VPconn.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"013EE132-A109-4247-91B0-099A8FF49AD7\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 013EE132-A109-4247-91B0-099A8FF49AD7\\n","errorExample":""}]', + 'title' => '修改物理专线的配置', + 'description' => '调用该接口时,请注意: '."\n" + ."\n" + .'- 只有处于**Initial**、**Enabled**和**Rejected**状态的物理专线可以修改规格和冗余专线ID。 '."\n" + ."\n" + .'- 无法修改处于**Canceled**、**Allocating**、**AllocationFailed**和**Terminated**状态的物理专线。 '."\n" + ."\n" + .'- 处于**Rejected**状态的物理专线被修改后会进入**Initial**状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'EnablePhysicalConnection' => [ + 'summary' => '开通处于Confirmed状态的物理专线,开通完成后物理专线进入Enabled状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域。'."\n" + ."\n" + .'您可以通过调用DescribeRegions接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-2zeoaxkq3x****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'ByPassSp', + 'in' => 'query', + 'schema' => [ + 'description' => '表示是否跳过SP(即订单生命周期),取值:'."\n" + .'- **true**:跳过SP,说明阿里云售卖系统不再管理该实例,可免费使用。'."\n" + .'- **false**(默认值):不跳过SP。'."\n" + ."\n" + .'> 该功能需要向客户经理申请使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '20365164-5b0d-460a-83c2-2189972b3349', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + [ + 'errorCode' => 'INSTANCE.STATUS.NOT.ALLOW', + 'errorMessage' => 'Instance status not allow', + ], + [ + 'errorCode' => 'ALIUID.NOT.ALLOW.WITHOUT.SP', + 'errorMessage' => 'AliUid not allow direct enable physical connection', + ], + [ + 'errorCode' => 'ACCESS.DEVICE.NOT.ALLOW.WITHOUT.SP', + 'errorMessage' => 'Access device not allow direct enable physical connection', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"20365164-5b0d-460a-83c2-2189972b3349\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 20365164-5b0d-460a-83c2-2189972b3349\\n","errorExample":""}]', + 'title' => '开通物理专线', + 'description' => '调用该接口时,请注意:'."\n" + ."\n" + .'- 只允许开通处于**Confirmed**状态的物理专线。'."\n" + ."\n" + .'- 开通完成后物理专线进入**Enabled**状态。'."\n" + ."\n" + .'- **EnablePhysicalConnection**接口属于异步接口,即系统会返回一个实例ID,但该物理专线尚未开通完成,系统后台的开通任务仍在进行。您可以调用[DescribePhysicalConnections](~~36042~~)查询物理专线的开通状态。'."\n" + ."\n\n" + .'- **EnablePhysicalConnection**接口不支持并发开通同一个处于**Confirmed**状态的物理专线。', + ], + 'TerminatePhysicalConnection' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-119mfjzm****', + ], + ], + [ + '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-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + [ + 'errorCode' => 'Forbidden.VbrAttached', + 'errorMessage' => 'Cannot terminate physical connection when virtual border routers are still attached.', + ], + [ + 'errorCode' => 'OperationFailed.VpconnAttached', + 'errorMessage' => 'Cannot terminate physical connection when vpconn are still attached.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '终止物理专线接入', + 'summary' => '在物理专线开通后,终止物理专线接入。', + 'description' => '调用TerminatePhysicalConnection接口后,物理专线进入**Terminating**状态,处理完成后进入**Terminated**状态。'."\n" + .'调用本接口终止物理专线时,请注意:'."\n" + ."\n" + .'- 只能终止处于**Enabled**状态的物理专线。'."\n" + .'- 终止物理专线之前,必须删除与其关联的VBR。', + ], + 'RecoverPhysicalConnection' => [ + 'summary' => '调用RecoverPhysicalConnection接口恢复物理专线接入。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'title' => '恢复的Pconn', + 'description' => '物理专线实例ID。'."\n" + ."\n" + .'> 目前仅支持恢复共享专线的接入。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等Token', + 'description' => '客户端Token用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,需保证该参数在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => 'DryRun', + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送检查请求,不会恢复物理专线接入。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回请求ID。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接恢复物理专线接入。', + '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-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CD14EA74-E9C3-59A9-942A-DFEC7E12818D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnection', + 'errorMessage' => 'The status of %s is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'OperationDenied.TerminateVirtualPhysicalConnection', + 'errorMessage' => 'The operation is not allowed because of TerminateVirtualPhysicalConnection.', + ], + [ + 'errorCode' => 'OperationDenied.PconnNotAllowRecover', + 'errorMessage' => 'Exclusive physical connection does not allow recovery.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CD14EA74-E9C3-59A9-942A-DFEC7E12818D\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CD14EA74-E9C3-59A9-942A-DFEC7E12818D\\n","errorExample":""}]', + 'title' => '恢复物理专线接入', + 'description' => '### 使用说明'."\n" + ."\n" + .'您可以通过调用RecoverPhysicalConnection接口将已被终止接入的物理专线恢复接入。目前仅支持恢复共享专线的接入。', + ], + 'AttachVbrToVpconn' => [ + 'summary' => '关联边界路由器VBR(Virtual Border Router)实例至共享专线。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'VpconnId', + 'in' => 'query', + 'schema' => [ + 'title' => '迁移到目标vpconn', + 'description' => '共享专线实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'title' => '待迁移的vbr', + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-bp133sn3nwjvu7twc****', + ], + ], + [ + 'name' => 'Token', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等Token', + 'description' => '客户端Token用于保证请求的幂等性。'."\n" + ."\n" + .'要保证Client Token在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => 'DryRun', + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送检查请求,不会关联VBR实例至共享专线。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回请求ID。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接关联VBR实例至共享专线。', + '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-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5356F028-0F5C-56FC-8574-897D24379041', + ], + 'VirtualPhysicalConnection' => [ + 'title' => 'Vpconn的实例ID', + 'description' => '共享专线实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1mrgfbtmc9brre7****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.VPCONN', + 'errorMessage' => 'The quota of VBR_COUNT_PER_VPCONN is exceeded, usage 1/1.', + ], + [ + 'errorCode' => 'OperationFailed.VbrBindedPconn', + 'errorMessage' => 'The operation is failed because of VbrBindedPconn.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnectionId', + 'errorMessage' => 'PhysicalConnection is not found. ', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnection', + 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not in Enabled state.', + ], + [ + 'errorCode' => 'ResourceNotFound.VirtualBorderRouter', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5356F028-0F5C-56FC-8574-897D24379041\\",\\n \\"VirtualPhysicalConnection\\": \\"pc-bp1mrgfbtmc9brre7****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5356F028-0F5C-56FC-8574-897D24379041\\n pc-bp1mrgfbtmc9brre7****\\n","errorExample":""}]', + 'title' => '共享专线关联VBR', + ], + 'GetPhysicalConnectionServiceStatus' => [ + 'summary' => '查看当前账号是否已开通出云流量费。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要查询是否开通出方向流量费的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'Enabled' => [ + 'title' => '是否开通出云流量服务', + 'description' => '是否已开通出方向流量服务。'."\n" + .'- **true**:已开通。'."\n" + ."\n" + .'- **false**:未开通。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"Enabled\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n true\\n","errorExample":""}]', + 'title' => '获取物理连接服务状态', + 'description' => '### 使用说明'."\n" + ."\n" + .'您可以调用GetPhysicalConnectionServiceStatus接口查看当前账号是否已开通出方向流量费。关于出方向流量费的详细信息,请参见[开通出方向流量费](~~274385~~)和[计费说明](~~54582~~)。', + ], + 'DescribeAccessPoints' => [ + 'summary' => '调用DescribeAccessPoints接口查询指定地域中的物理专线接入点。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '接入点所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '返回值语言,取值:'."\n" + ."\n" + .'- **zh-CN**:中文。'."\n" + .'- **en-US**(默认值):英文。', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '3E85D803-C7CF-4BCD-9CFE-6DBA1DFFA027', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'AccessPointSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AccessPointType' => [ + 'description' => '查询到的接入点信息。', + 'type' => 'array', + 'items' => [ + 'description' => '查询到的接入点信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '物理专线的接入点状态。'."\n" + ."\n" + .'- **recommended** :表示接入点状态良好,推荐接入。'."\n" + .'- **hot** :表示接入的物理专线较多,状态正常。'."\n" + .'- **full** :表示接入物理专线已满,不允许新增接入。'."\n" + .'- **disabled** :表示接入点不可用。', + 'type' => 'string', + 'example' => 'recommended', + ], + 'Type' => [ + 'description' => '物理专线的网络类型。默认值:**VPC**。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'HostOperator' => [ + 'description' => '接入点所属的运营商。', + 'type' => 'string', + 'example' => '中国电信', + ], + 'Description' => [ + 'description' => '接入点描述信息。', + 'type' => 'string', + 'example' => '接入点描述信息', + ], + 'AttachedRegionNo' => [ + 'description' => '接入点所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Name' => [ + 'description' => '接入点名称。', + 'type' => 'string', + 'example' => '杭州-余杭-C', + ], + 'AccessPointId' => [ + 'description' => '接入点ID。', + 'type' => 'string', + 'example' => 'ap-cn-hangzhou-****', + ], + 'Location' => [ + 'description' => '接入点的位置。', + 'type' => 'string', + 'example' => '杭州', + ], + 'AccessPointFeatureModels' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AccessPointFeatureModel' => [ + 'description' => '查询到的接入点特征模型。', + 'type' => 'array', + 'items' => [ + 'description' => '查询到的接入点特征模型。', + 'type' => 'object', + 'properties' => [ + 'FeatureValue' => [ + 'description' => '接入点特性值。', + 'type' => 'string', + 'example' => 'true', + ], + 'FeatureKey' => [ + 'description' => '接入点特性。', + 'type' => 'string', + 'example' => 'AP_Support_VbrBandwidthLimit', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccessPointType.NotSupport', + 'errorMessage' => 'Invalid access point type.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupport', + 'errorMessage' => 'The RegionId provided does not support in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3E85D803-C7CF-4BCD-9CFE-6DBA1DFFA027\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 5,\\n \\"AccessPointSet\\": {\\n \\"AccessPointType\\": [\\n {\\n \\"Status\\": \\"recommended\\",\\n \\"Type\\": \\"VPC\\",\\n \\"HostOperator\\": \\"中国电信\\",\\n \\"Description\\": \\"接入点描述信息\\",\\n \\"AttachedRegionNo\\": \\"cn-hangzhou\\",\\n \\"Name\\": \\"杭州-余杭-C\\",\\n \\"AccessPointId\\": \\"ap-cn-hangzhou-****\\",\\n \\"Location\\": \\"杭州\\",\\n \\"AccessPointFeatureModels\\": {\\n \\"AccessPointFeatureModel\\": [\\n {\\n \\"FeatureValue\\": \\"true\\",\\n \\"FeatureKey\\": \\"AP_Support_VbrBandwidthLimit\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 3E85D803-C7CF-4BCD-9CFE-6DBA1DFFA027\\n 1\\n 10\\n 5\\n \\n recommended\\n VPC\\n 中国电信\\n 接入点描述信息\\n cn-hangzhou\\n 杭州-余杭-C\\n ap-cn-hangzhou-****\\n 杭州\\n \\n true\\n AP_Support_VbrBandwidthLimit\\n \\n \\n","errorExample":""}]', + 'title' => '查询指定地域中的物理专线接入点', + ], + 'ConfirmPhysicalConnection' => [ + 'summary' => '确认物理专线为可用状态,物理专线的状态会变为Confirmed。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-119mf****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e0****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'API-20365164-5b0d-460a-83c2-2189972b****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnectionId', + 'errorMessage' => 'PhysicalConnection is not found.', + ], + [ + 'errorCode' => 'MissingParam.RegionNo', + 'errorMessage' => 'RegionNo is missing.', + ], + [ + 'errorCode' => 'MissingParam.AliUid', + 'errorMessage' => 'AliUid is missing.', + ], + [ + 'errorCode' => 'MissingParam.PhysicalConnectionId', + 'errorMessage' => 'PhysicalConnectionId is missing.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified physicalConnection is not found', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnection', + 'errorMessage' => 'The specified PhysicalConnectionId is not in Allocated state.', + ], + [ + 'errorCode' => 'OperationUnsupported.SkipConstruction', + 'errorMessage' => 'You can not skip construction.', + ], + [ + 'errorCode' => 'ResourceNotFound.PhysicalConnection', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"API-20365164-5b0d-460a-83c2-2189972b****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n API-20365164-5b0d-460a-83c2-2189972b****\\n","errorExample":""}]', + 'title' => '确认物理专线为可用状态', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribePhysicalConnections' => [ + 'summary' => '调用DescribePhysicalConnections接口查询指定地域内的物理专线信息。', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值:**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。默认值:**10**。 取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否返回未生效的订单数据。取值:'."\n" + ."\n" + .'* **true**:返回。'."\n" + ."\n" + .'* **false**(默认值):不返回。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-001', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤条件列表。'."\n" + ."\n\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '过滤条件。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件。取值:'."\n" + ."\n" + .'- **PhysicalConnectionId**:物理专线ID。'."\n" + ."\n" + .'- **AccessPointId**:接入点ID。'."\n" + ."\n" + .'- **Type**:物理专线类型。该过滤条件仅支持过滤值**VPC**。'."\n" + ."\n" + .'- **LineOperator**:物理专线的运营商。该过滤条件支持以下过滤值:'."\n" + .' - **CT**:中国电信。'."\n" + .' - **CU**:中国联通。'."\n" + .' - **CM**:中国移动。'."\n" + .' - **CO**:中国其他。 '."\n" + .' - **Equinix**:Equinix。'."\n" + .' - **Other**:境外其他。'."\n" + ."\n" + .'- **Spec**:物理专线的规格。该过滤条件支持以下过滤值:'."\n" + .' - **1G及以下**。'."\n" + .' - **10G**。'."\n" + .' - **40G**。'."\n" + .' - **100G**。'."\n" + .'> **40G**、**100G**的规格默认不开放,向客户经理已提交申请并通过的用户才可使用该过滤值。'."\n" + ."\n" + .'- **Status**:物理专线的状态。该过滤条件支持以下过滤值:'."\n" + .' - **Initial**:申请中。'."\n" + .' - **Approved**:审批通过。'."\n" + .' - **Allocating**:正在分配资源。'."\n" + .' - **Allocated**:接入施工中。 '."\n" + .' - **Confirmed**:等待用户确认。 '."\n" + .' - **Enabled**:已开通。'."\n" + .' - **Rejected**:申请被拒绝。'."\n" + .' - **Canceled**:已取消。'."\n" + .' - **Allocation Failed**:资源分配失败。'."\n" + .' - **Terminating**:终止中。'."\n" + .' - **Terminated**:已终止。'."\n" + ."\n" + .'- **Name**:物理专线的名称。'."\n" + .'- **ProductType**:专线类型。取值:'."\n" + .' - **VirtualPhysicalConnection**:共享专线。'."\n" + .' - **PhysicalConnection**:独享专线。'."\n" + .' '."\n" + ."\n\n" + .'一次最多支持输入5个过滤条件。各个过滤条件之间为**与**关系,符合所有的过滤条件,才会返回正确的查询结果。', + 'type' => 'string', + 'required' => false, + 'example' => 'Name', + ], + 'Value' => [ + 'description' => '过滤值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤条件对应的过滤值。'."\n" + ."\n" + .'一个过滤条件支持最多输入5个过滤值,多个过滤值之间为**或**关系,只要与其中一个过滤值匹配则视为符合该过滤条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + 'required' => false, + 'example' => '1', + 'maxItems' => 5, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2yvwibxr****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0E6D0EC4-7C91-53E2-9F65-64BF713114B0', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。默认值:**10**。 取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PhysicalConnectionSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PhysicalConnectionType' => [ + 'description' => '物理专线信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '物理专线的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '物理专线的类型。取值:**VPC**。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'Status' => [ + 'description' => '物理专线的状态。取值:'."\n" + ."\n" + .'- **Initial**:申请中。'."\n" + ."\n" + .'- **Approved**:审批通过。'."\n" + ."\n" + .'- **Allocating**:正在分配资源。'."\n" + ."\n" + .'- **Allocated**:接入施工中。 '."\n" + ."\n" + .'- **Confirmed**:等待用户确认。 '."\n" + ."\n" + .'- **Enabled**:已开通。'."\n" + ."\n" + .'- **Rejected**:申请被拒绝。'."\n" + ."\n" + .'- **Canceled**:已取消。'."\n" + .' '."\n" + .'- **Allocation Failed**:资源分配失败。'."\n" + ."\n" + .'- **Terminating**:终止中。'."\n" + ."\n" + .'- **Terminated**:已终止。', + 'type' => 'string', + 'example' => 'Enabled', + ], + 'CreationTime' => [ + 'description' => '物理专线的创建时间。', + 'type' => 'string', + 'example' => '2021-08-24T07:30:58Z', + ], + 'AdLocation' => [ + 'description' => '物理专线接入设备所在接入点位置。', + 'type' => 'string', + 'example' => '浙江省杭州市XX区XX镇XX路10号', + ], + 'ReservationActiveTime' => [ + 'description' => '未生效订单的生效时间。', + 'type' => 'string', + 'example' => '2022-02-25T11:01:04Z', + ], + 'ReservationOrderType' => [ + 'description' => '未生效订单的订单类型。'."\n" + ."\n" + .'取值:**RENEW**,表示续费订单。', + 'type' => 'string', + 'example' => 'RENEW', + ], + 'PortNumber' => [ + 'description' => '物理专线接入设备的端口号。', + 'type' => 'string', + 'example' => '1/1/1', + ], + 'Spec' => [ + 'description' => '物理专线的规格。'."\n" + ."\n" + .'单位:**G**表示Gbps。', + 'type' => 'string', + 'example' => '10G', + ], + 'ChargeType' => [ + 'description' => '物理专线的付费方式。'."\n" + ."\n" + .'取值:**Prepaid**,表示预付费。'."\n", + 'type' => 'string', + 'example' => 'Prepaid', + ], + 'ReservationInternetChargeType' => [ + 'description' => '未生效订单的付费类型。'."\n" + ."\n" + .'取值:**PayByBandwidth**,表示按使用带宽付费。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'Description' => [ + 'description' => '物理专线的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'Bandwidth' => [ + 'description' => '物理专线的带宽。'."\n" + ."\n" + .'单位:Mbps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'EnabledTime' => [ + 'description' => '物理专线的开通时间。', + 'type' => 'string', + 'example' => '2021-08-24T07:33:18Z', + ], + 'LineOperator' => [ + 'description' => '提供接入物理线路的运营商。取值:'."\n" + ."\n" + .'- **CT**:中国电信。'."\n" + ."\n" + .'- **CU**:中国联通。'."\n" + ."\n" + .'- **CM**:中国移动。'."\n" + ."\n" + .'- **CO**:中国其他。 '."\n" + ."\n" + .'- **Equinix**:Equinix。'."\n" + ."\n" + .'- **Other**:境外其他。'."\n" + .' ', + 'type' => 'string', + 'example' => 'CT', + ], + 'PeerLocation' => [ + 'description' => '本地数据中心的地理位置。', + 'type' => 'string', + 'example' => '浙江省杭州市XX区XX镇XX路XX号', + ], + 'RedundantPhysicalConnectionId' => [ + 'description' => '冗余物理专线的ID。', + 'type' => 'string', + 'example' => 'pc-119mfjzm****', + ], + 'Name' => [ + 'description' => '物理专线的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'CircuitCode' => [ + 'description' => '运营商为物理专线提供的电路编码。', + 'type' => 'string', + 'example' => 'longtel001', + ], + 'EndTime' => [ + 'description' => '物理专线的到期时间。', + 'type' => 'string', + 'example' => '2022-04-24T16:00:00Z', + ], + 'PortType' => [ + 'description' => '物理专线接入端口类型。取值:'."\n" + ."\n" + .'- **100Base-T**:百兆电口。'."\n" + ."\n" + .'- **1000Base-T**:千兆电口。'."\n" + ."\n" + .'- **1000Base-LX**:千兆单模光口(10千米)。'."\n" + ."\n" + .'- **10GBase-T**:万兆电口。'."\n" + ."\n" + .'- **10GBase-LR**:万兆单模光口(10千米)。'."\n" + ."\n" + .'- **40GBase-LR**:四万兆单模光口。'."\n" + ."\n" + .'- **100GBase-LR**:十万兆单模光口。'."\n" + ."\n" + .'> 40GBase-LR和100GBase-LR需要根据实际后台端口水位情况进行创建,具体水位情况请联系商务经理。'."\n" + ."\n\n", + 'type' => 'string', + 'example' => '10GBase-LR', + ], + 'BusinessStatus' => [ + 'description' => '物理专线的商业状态。取值:'."\n" + .' '."\n" + .'- **Normal**:已开通。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。 '."\n" + ."\n" + .'- **SecurityLocked**:因安全原因被锁定。'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'LoaStatus' => [ + 'description' => 'LOA的状态。取值:'."\n" + ."\n" + .'- **Applying**:LOA申请中。'."\n" + ."\n" + .'- **Accept**:LOA申请通过。'."\n" + ."\n" + .'- **Available**:LOA可用。'."\n" + ."\n" + .'- **Rejected**:LOA申请驳回。'."\n" + ."\n" + .'- **Completing**:专线施工中。'."\n" + ."\n" + .'- **Complete**:专线施工完成。'."\n" + ."\n" + .'- **Deleted**:LOA已删除。', + 'type' => 'string', + 'example' => 'Available', + ], + 'AccessPointId' => [ + 'description' => '物理专线接入点的ID。', + 'type' => 'string', + 'example' => 'ap-cn-hangzhou-finance-yh-E', + ], + 'AccessPointType' => [ + 'description' => '物理专线接入点类型。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'HasReservationData' => [ + 'description' => '是否包含未生效的订单数据。取值:'."\n" + .'* **true**:包含。'."\n" + ."\n" + .'* **false**:未包含。'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'PhysicalConnectionId' => [ + 'description' => '物理专线的实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1ciz7ekd2grn1as****', + ], + 'ProductType' => [ + 'description' => '物理专线类型。取值:'."\n" + ."\n" + .'- **VirtualPhysicalConnection**:共享专线。'."\n" + .'- **PhysicalConnection**:独享专线。', + 'type' => 'string', + 'example' => 'PhysicalConnection', + ], + 'VirtualPhysicalConnectionCount' => [ + 'description' => '当前物理专线下已创建的共享专线数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'ParentPhysicalConnectionId' => [ + 'description' => '共享专线关联的物理专线实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1ciz7ekd2grn1as****', + ], + 'ParentPhysicalConnectionAliUid' => [ + 'description' => '共享专线关联的物理专线所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '132193271328****', + ], + 'VlanId' => [ + 'description' => '共享专线的VLAN ID。', + 'type' => 'string', + 'example' => '10', + ], + 'OrderMode' => [ + 'description' => '共享专线的付费方式。取值:'."\n" + ."\n" + .'- **PayByPhysicalConnectionOwner**:表示合作伙伴付费。'."\n" + .'- **PayByVirtualPhysicalConnectionOwner**:表示租户付费。', + 'type' => 'string', + 'example' => 'PayByPhysicalConnectionOwner', + ], + 'VpconnStatus' => [ + 'description' => '共享专线的业务状态。取值:'."\n" + ."\n" + .'- **Confirmed**:共享专线已确认接收。'."\n" + .'- **UnConfirmed**:共享专线未被确认接收。'."\n" + .'- **Deleted**:共享专线已被删除。', + 'type' => 'string', + 'example' => 'Confirmed', + ], + 'ExpectSpec' => [ + 'description' => '共享专线的预计带宽值。完成支付后,预计带宽值才能生效。'."\n" + ."\n" + .'单位:**M**表示Mbps,**G**表示Gbps。', + 'type' => 'string', + 'example' => '50M', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmwu3k52p****', + ], + 'AdDetailLocation' => [ + 'description' => '表示机房及机柜的信息。', + 'type' => 'string', + 'example' => '浙江省杭州市XX区XX镇XX路10号, XX机房, ET135ET135-XX-2包间, JXX机柜, position30', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'QosId' => [ + 'description' => 'QoS策略实例ID。', + 'type' => 'string', + 'example' => 'qos-bp10s3szn8rgnxuw7****', + ], + 'OpticalModuleModel' => [ + 'title' => '用户输入的光模块型号。', + 'description' => '用户输入的光模块型号。', + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => 'ResourceGroupId in financial region is unsupported.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified tag key is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0E6D0EC4-7C91-53E2-9F65-64BF713114B0\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"PhysicalConnectionSet\\": {\\n \\"PhysicalConnectionType\\": [\\n {\\n \\"Type\\": \\"VPC\\",\\n \\"Status\\": \\"Enabled\\",\\n \\"CreationTime\\": \\"2021-08-24T07:30:58Z\\",\\n \\"AdLocation\\": \\"浙江省杭州市XX区XX镇XX路10号\\",\\n \\"ReservationActiveTime\\": \\"2022-02-25T11:01:04Z\\",\\n \\"ReservationOrderType\\": \\"RENEW\\",\\n \\"PortNumber\\": \\"1/1/1\\",\\n \\"Spec\\": \\"10G\\",\\n \\"ChargeType\\": \\"Prepaid\\",\\n \\"ReservationInternetChargeType\\": \\"PayByBandwidth\\",\\n \\"Description\\": \\"desctest\\",\\n \\"Bandwidth\\": 10,\\n \\"EnabledTime\\": \\"2021-08-24T07:33:18Z\\",\\n \\"LineOperator\\": \\"CT\\",\\n \\"PeerLocation\\": \\"浙江省杭州市XX区XX镇XX路XX号\\",\\n \\"RedundantPhysicalConnectionId\\": \\"pc-119mfjzm****\\",\\n \\"Name\\": \\"nametest\\",\\n \\"CircuitCode\\": \\"longtel001\\",\\n \\"EndTime\\": \\"2022-04-24T16:00:00Z\\",\\n \\"PortType\\": \\"10GBase-LR\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"LoaStatus\\": \\"Available\\",\\n \\"AccessPointId\\": \\"ap-cn-hangzhou-finance-yh-E\\",\\n \\"AccessPointType\\": \\"VPC\\",\\n \\"HasReservationData\\": \\"false\\",\\n \\"PhysicalConnectionId\\": \\"pc-bp1ciz7ekd2grn1as****\\",\\n \\"ProductType\\": \\"PhysicalConnection\\",\\n \\"VirtualPhysicalConnectionCount\\": 0,\\n \\"ParentPhysicalConnectionId\\": \\"pc-bp1ciz7ekd2grn1as****\\",\\n \\"ParentPhysicalConnectionAliUid\\": 0,\\n \\"VlanId\\": \\"10\\",\\n \\"OrderMode\\": \\"PayByPhysicalConnectionOwner\\",\\n \\"VpconnStatus\\": \\"Confirmed\\",\\n \\"ExpectSpec\\": \\"50M\\",\\n \\"ResourceGroupId\\": \\"rg-acfmwu3k52p****\\",\\n \\"AdDetailLocation\\": \\"浙江省杭州市XX区XX镇XX路10号, XX机房, ET135ET135-XX-2包间, JXX机柜, position30\\",\\n \\"Tags\\": {\\n \\"tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"QosId\\": \\"qos-bp10s3szn8rgnxuw7****\\",\\n \\"OpticalModuleModel\\": \\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 0E6D0EC4-7C91-53E2-9F65-64BF713114B0\\n 1\\n 10\\n 1\\n \\n VPC\\n Enabled\\n 2021-08-24T07:30:58Z\\n 浙江省杭州市XX区XX镇XX路10号\\n 2022-02-25T11:01:04Z\\n RENEW\\n 1/1/1\\n 10G\\n Prepaid\\n PayByBandwidth\\n desctest\\n 10\\n 2021-08-24T07:33:18Z\\n CT\\n 浙江省杭州市XX区XX镇XX路XX号\\n pc-119mfjzm****\\n nametest\\n longtel001\\n 2022-04-24T16:00:00Z\\n 10GBase-LR\\n Normal\\n Available\\n ap-cn-hangzhou-finance-yh-E\\n VPC\\n false\\n pc-bp1ciz7ekd2grn1as****\\n PhysicalConnection\\n 0\\n pc-bp1ciz7ekd2grn1as****\\n 10\\n PayByPhysicalConnectionOwner\\n Confirmed\\n 50M\\n rg-acfmwu3k52p****\\n 浙江省杭州市XX区XX镇XX路10号, XX机房, ET135ET135-XX-2包间, JXX机柜, position30\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询指定地域内的物理专线', + 'description' => '默认情况下,系统会查询指定地域内所有物理专线的信息,您可以通过**DescribePhysicalConnections**接口为您提供的过滤选项查询指定物理专线的信息。系统支持的过滤选项,请参见本文**请求参数**中**Key**的描述信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListPhysicalConnectionFeatures' => [ + 'summary' => '查询物理专线支持的设备级能力', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-bp1qrb3044eqixog****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A599D38F-3618-18FD-9427-108FB9B5BD26', + ], + 'PhysicalConnectionFeatures' => [ + 'description' => '物理专线特性列表。', + 'type' => 'array', + 'items' => [ + 'description' => '物理专线特性列表。', + 'type' => 'object', + 'properties' => [ + 'FeatureValue' => [ + 'description' => '物理专线的特性值。取值:'."\n" + ."\n" + .'- **OK**:支持。'."\n" + .'- **NOK**:不支持。', + 'type' => 'string', + 'example' => 'OK', + ], + 'FeatureKey' => [ + 'description' => '物理专线的特性键。取值:'."\n" + ."\n" + .'- **SubifRateLimit**:子接口限速。'."\n" + .'- **BFD能力**:BFD能力。'."\n" + .'- **DualStack**:同时支持IPv4和IPv6的能力。'."\n" + .'- **CEN**:当VBR加载到CEN中,向用户侧宣告BGP路由时,可以携带路由原始**as-path**,**community**等属性。'."\n" + .'- **CENv6**:当VBR加载到IPv6的CEN中,向向用户侧宣告BGP路由时,可以携带路由原始**as-path**,**community**等属性。'."\n" + .'- **QOS**:设备支持在物理端口配置QOS策略。'."\n" + .'- **MSHA**:设备支持在两个VBR之间配置快速倒换组。'."\n" + .'- **MULTI_MS_HA**:设备支持在个最多8个VBR之间配置快速倒换组,需要这些VBR加入到同一个ECR中。', + 'type' => 'string', + 'example' => 'SubifRateLimit', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.PhysicalConnectionId', + 'errorMessage' => 'The PhysicalConnectionId is missing.', + ], + [ + 'errorCode' => 'MissingParam.RegionNo', + 'errorMessage' => 'The RegionId is missing.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A599D38F-3618-18FD-9427-108FB9B5BD26\\",\\n \\"PhysicalConnectionFeatures\\": [\\n {\\n \\"FeatureValue\\": \\"OK\\",\\n \\"FeatureKey\\": \\"SubifRateLimit\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n A599D38F-3618-18FD-9427-108FB9B5BD26\\n \\n OK\\n SubifRateLimit\\n \\n","errorExample":""}]', + 'title' => '查询物理专线的特性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CompletePhysicalConnectionLOA' => [ + 'summary' => '调用CompletePhysicalConnectionLOA完成施工完竣。', + '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" + .'由客户端生成该参数值,要保证在不同请求间唯一。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-230e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-230e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-bp10tvlhnwkw****', + ], + ], + [ + 'name' => 'LineCode', + 'in' => 'query', + 'schema' => [ + 'description' => '运营商线路编码。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'aaa111****', + ], + ], + [ + 'name' => 'LineLabel', + 'in' => 'query', + 'schema' => [ + 'description' => '机房楼内线缆标签。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'bbb222****', + ], + ], + [ + 'name' => 'LineServiceProvider', + 'in' => 'query', + 'schema' => [ + 'description' => '运营商主体。取值:'."\n" + .'- **中国电信**。'."\n" + .'- **中国联通**。'."\n" + .'- **中国移动**。'."\n" + .'- **中国其他**。', + 'type' => 'string', + 'required' => false, + 'example' => '中国其他', + ], + ], + [ + 'name' => 'LineSPContactInfo', + 'in' => 'query', + 'schema' => [ + 'description' => '线路运维联系方式。', + 'type' => 'string', + 'required' => false, + 'example' => '1388888****', + ], + ], + [ + 'name' => 'FinishWork', + 'in' => 'query', + 'schema' => [ + 'description' => '是否施工完竣。取值:'."\n" + .'* **true**:完工报竣。'."\n" + .'* **false**:线路运维。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F8983C74-E068-4509-B442-89BD82C8F43B', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.AliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.RegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.PhysicalConnectionLOA', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.LineCode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.LineLabel', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.LOAStatusNotAllowComplete', + 'errorMessage' => 'The operation is not allowed because of LOAStatusNotAllowComplete.', + ], + [ + 'errorCode' => 'IllegalParam.LineSPContactInfo', + 'errorMessage' => 'LineSPContactInfo is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F8983C74-E068-4509-B442-89BD82C8F43B\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F8983C74-E068-4509-B442-89BD82C8F43B\\n","errorExample":""}]', + 'title' => '完成施工完竣', + ], + 'DescribePhysicalConnectionLOA' => [ + 'summary' => '调用DescribePhysicalConnectionLOA查询物理专线LOA信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署物理专线的地域ID。'."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp1ca4wca27ex****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '318BB676-0A2B-43A0-9AD8-F1D34E93750F', + ], + 'PhysicalConnectionLOAType' => [ + 'description' => '物理专线LOA信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'LOA的状态。取值:'."\n" + ."\n" + .'- **Applying**:LOA申请中。'."\n" + .'- **Accept**:LOA申请通过。'."\n" + .'- **Available**:LOA可用。'."\n" + .'- **Rejected**:LOA申请驳回。'."\n" + .'- **Completing**:专线施工中。'."\n" + .'- **Complete**:专线施工完成。'."\n" + .'- **Deleted**:LOA已删除。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'LineLabel' => [ + 'description' => '机房楼内线缆标签。', + 'type' => 'string', + 'example' => 'bbb222', + ], + 'LineCode' => [ + 'description' => '运营商线路编码。', + 'type' => 'string', + 'example' => 'aaa111', + ], + 'ConstructionTime' => [ + 'description' => '施工进场时间。', + 'type' => 'string', + 'example' => '2019-02-26T08:00:00Z', + ], + 'SI' => [ + 'description' => '入场施工单位。', + 'type' => 'string', + 'example' => 'ctcu', + ], + 'LoaUrl' => [ + 'description' => 'LOA文件下载地址。', + 'type' => 'string', + 'example' => 'http://******', + ], + 'CompanyLocalizedName' => [ + 'description' => '施工单位名称。', + 'type' => 'string', + 'example' => 'company', + ], + 'InstanceId' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'example' => 'pc-bp1ca4wca27****', + ], + 'LineType' => [ + 'description' => '物理专线类型。取值:'."\n" + ."\n" + .'- **MSTP**'."\n" + .'- **MPLSVPN**'."\n" + .'- **FIBRE**'."\n" + .'- **Other**'."\n", + 'type' => 'string', + 'example' => 'FIBRE', + ], + 'CompanyName' => [ + 'description' => '需要部署物理专线的单位名称。', + 'type' => 'string', + 'example' => 'test1234', + ], + 'PMInfo' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PMInfo' => [ + 'description' => '施工人员信息。', + 'type' => 'array', + 'items' => [ + 'description' => '施工人员信息。', + 'type' => 'object', + 'properties' => [ + 'PMGender' => [ + 'description' => '施工人员性别。取值:'."\n" + ."\n" + .'- **Male**:男。'."\n" + .'- **Female**:女。', + 'type' => 'string', + 'example' => 'Male', + ], + 'PMCertificateNo' => [ + 'description' => '施工人员证件号码。', + 'type' => 'string', + 'example' => '12345671****', + ], + 'PMName' => [ + 'description' => '施工人员姓名。', + 'type' => 'string', + 'example' => 'name', + ], + 'PMCertificateType' => [ + 'description' => '施工人员证件类型。取值:'."\n" + ."\n" + .'- **IDCard**:身份证。'."\n" + .'- **Passport**:护照。'."\n" + .'- **Other**:其他。', + 'type' => 'string', + 'example' => 'Other', + ], + 'PMContactInfo' => [ + 'description' => '施工人员联系电话。', + 'type' => 'string', + 'example' => '18910010****', + ], + ], + ], + ], + ], + ], + 'LineServiceProvider' => [ + 'description' => '运营商主体。取值:'."\n" + .'- **中国电信**。'."\n" + .'- **中国联通**。'."\n" + .'- **中国移动**。'."\n" + .'- **中国其他**。', + 'type' => 'string', + 'example' => '中国其他', + ], + 'LineSPContactInfo' => [ + 'description' => '线路运维联系方式。', + 'type' => 'string', + 'example' => '1388888****', + ], + 'Description' => [ + 'title' => 'LOA错误码', + 'description' => 'LOA错误码', + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.AliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.RegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"318BB676-0A2B-43A0-9AD8-F1D34E93750F\\",\\n \\"PhysicalConnectionLOAType\\": {\\n \\"Status\\": \\"Available\\",\\n \\"LineLabel\\": \\"bbb222\\",\\n \\"LineCode\\": \\"aaa111\\",\\n \\"ConstructionTime\\": \\"2019-02-26T08:00:00Z\\",\\n \\"SI\\": \\"ctcu\\",\\n \\"LoaUrl\\": \\"http://******\\",\\n \\"CompanyLocalizedName\\": \\"company\\",\\n \\"InstanceId\\": \\"pc-bp1ca4wca27****\\",\\n \\"LineType\\": \\"FIBRE\\",\\n \\"CompanyName\\": \\"test1234\\",\\n \\"PMInfo\\": {\\n \\"PMInfo\\": [\\n {\\n \\"PMGender\\": \\"Male\\",\\n \\"PMCertificateNo\\": \\"12345671****\\",\\n \\"PMName\\": \\"name\\",\\n \\"PMCertificateType\\": \\"Other\\",\\n \\"PMContactInfo\\": \\"18910010****\\"\\n }\\n ]\\n },\\n \\"LineServiceProvider\\": \\"中国其他\\",\\n \\"LineSPContactInfo\\": \\"1388888****\\",\\n \\"Description\\": \\"\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 318BB676-0A2B-43A0-9AD8-F1D34E93750F\\n \\n Available\\n bbb222\\n aaa111\\n 2019-02-26T08:00:00Z\\n ctcu\\n http://******\\n company\\n pc-bp1ca4wca27****\\n FIBRE\\n test1234\\n \\n Male\\n 12345671****\\n name\\n Other\\n 18910010****\\n \\n \\n","errorExample":""}]', + 'title' => '查询物理专线LOA信息', + ], + 'ListGeographicSubRegions' => [ + 'summary' => '调用ListGeographicSubRegions接口查询地域信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + 'GeographicSubRegions' => [ + 'description' => '需要查询的地域列表。', + 'type' => 'array', + 'items' => [ + 'description' => '可以查询到的专线地域列表。', + 'type' => 'string', + 'example' => '["cn-beijing","cn-hangzhou"]', + ], + ], + 'Count' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"GeographicSubRegions\\": [\\n \\"[\\\\\\"cn-beijing\\\\\\",\\\\\\"cn-hangzhou\\\\\\"]\\"\\n ],\\n \\"Count\\": 10\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n [\\"cn-beijing\\",\\"cn-hangzhou\\"]\\n 10\\n","errorExample":""}]', + 'title' => '查询地域信息', + ], + 'ListBusinessRegions' => [ + 'summary' => '查询专线可购地域列表', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '返回值语言,取值: '."\n" + .' '."\n" + .'- **zh-CN**(默认值):中文。'."\n" + ."\n" + .'- **en-US**:英文。'."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID', + 'type' => 'string', + 'example' => '304FE68E-16D8-5B90-B2B3-FE5C5C08C24B', + ], + 'GeographicSubRegions' => [ + 'description' => '可以购买的专线地域列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'description' => '可以购买的专线的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Name' => [ + 'description' => '可以购买的专线的地域名称。', + 'type' => 'string', + 'example' => '华东1(杭州)', + ], + ], + ], + ], + 'Count' => [ + 'description' => '总条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"304FE68E-16D8-5B90-B2B3-FE5C5C08C24B\\",\\n \\"GeographicSubRegions\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Name\\": \\"华东1(杭州)\\"\\n }\\n ],\\n \\"Count\\": 10\\n}","type":"json"}]', + 'title' => '查询专线可购地域列表', + ], + 'ListBusinessAccessPoints' => [ + 'summary' => '调用ListBusinessAccessPoints接口查询物理专线的接入点信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', + ], + 'BusinessAccessPoints' => [ + 'description' => '物理专线所有接入点信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '物理专线所有接入点信息列表。', + 'type' => 'object', + 'properties' => [ + 'AccessPointId' => [ + 'description' => '物理专线接入点的ID。', + 'type' => 'string', + 'example' => 'ap-cn-hangzhou-xs-B', + ], + 'AccessPointName' => [ + 'description' => '物理专线接入点的名称。', + 'type' => 'string', + 'example' => '杭州-萧山-B', + ], + 'SupportLineOperator' => [ + 'description' => '支持接入物理线路的运营商。取值:'."\n" + ."\n" + .'- **CT**:中国电信。'."\n" + .'- **CU**:中国联通。'."\n" + .'- **CM**:中国移动。'."\n" + .'- **CO**:中国其他。'."\n" + .'- **Equinix**:Equinix。'."\n" + .'- **Other**:境外其他。', + 'type' => 'string', + 'example' => 'CT', + ], + 'SupportPortTypes' => [ + 'description' => '物理专线接入点支持购买的端口类型。取值:'."\n" + ."\n" + .'- **100Base-T**:百兆电口。'."\n" + .'- **1000Base-T**:千兆电口。'."\n" + .'- **1000Base-LX**:千兆单模光口(10千米)。'."\n" + .'- **10GBase-T**:万兆电口。'."\n" + .'- **10GBase-LR**:万兆单模光口(10千米)。'."\n" + .'- **40GBase-LR**:四万兆单模光口。'."\n" + .'- **100GBase-LR**:十万兆单模光口。'."\n" + ."\n" + .'> 40GBase-LR和100GBase-LR需要根据实际后台端口水位情况进行创建,具体水位情况请联系商务经理。', + 'type' => 'string', + 'example' => '1000Base-T', + ], + 'CloudBoxInstanceIds' => [ + 'description' => '云盒实例ID。'."\n" + ."\n" + .'> 当查询的物理专线和接入点为云盒物理专线和云盒接入点时,该参数可以查询。', + 'type' => 'string', + 'example' => 'cb-****', + ], + 'Longitude' => [ + 'description' => '接入点的经度。', + 'type' => 'number', + 'format' => 'double', + 'example' => '120.247514', + ], + 'Latitude' => [ + 'description' => '接入点的纬度。', + 'type' => 'number', + 'format' => 'double', + 'example' => '30.198416', + ], + 'OpticalModuleModels' => [ + 'title' => '当前接入点支持的光模块型号集合。', + 'description' => '当前接入点支持的光模块型号集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PortType' => [ + 'title' => '物理专线接入点光模块支持的端口类型。取值:'."\n" + .'● 1000Base-LX:千兆单模光口。'."\n" + .'● 10GBase-LR:万兆单模光口。'."\n" + .'● 40GBase-LR:四万兆单模光口。'."\n" + .'● 100GBase-LR:十万兆单模光口。', + 'description' => '物理专线接入点光模块支持的端口类型。取值:'."\n" + .'● 1000Base-LX:千兆单模光口。'."\n" + .'● 10GBase-LR:万兆单模光口。'."\n" + .'● 40GBase-LR:四万兆单模光口。'."\n" + .'● 100GBase-LR:十万兆单模光口。', + 'type' => 'string', + ], + 'OpticalModuleModel' => [ + 'title' => '物理专线接入点光模块支持型号,取值:'."\n" + .'1000Base-LX : '."\n" + .'SFP-GE-LR-SM1310,10KM'."\n" + .'SFP-GE-ER-SM1310,40KM'."\n" + .'SFP-GE-ZR-SM1550,80KM '."\n" + .'10GBase-LR : '."\n" + .'SFP-10G-LR-SM1310,10KM'."\n" + .'SFP-10G-ER-SM1550,40KM '."\n" + .'SFP-10G-ZR-SM1550,80KM '."\n" + .'40GBase-LR : '."\n" + .'QSFP-40G-LR4-WDM1300,10KM'."\n" + .'QSFP-40G-ER4-WDM1300,40KM'."\n" + .'QSFP-40G-ZR4-WDM1300,80KM'."\n" + .'100GBase-LR : '."\n" + .'QSFP28-100G-LR4-WDM1300,10KM'."\n" + .'QSFP28-100G-ER4-WDM1300,40KM'."\n" + .'QSFP28-100G-ZR4-WDM1300,80KM', + 'description' => '物理专线接入点光模块支持型号,取值:'."\n" + .'1000Base-LX : '."\n" + .'SFP-GE-LR-SM1310,10KM'."\n" + .'SFP-GE-ER-SM1310,40KM'."\n" + .'SFP-GE-ZR-SM1550,80KM '."\n" + .'10GBase-LR : '."\n" + .'SFP-10G-LR-SM1310,10KM'."\n" + .'SFP-10G-ER-SM1550,40KM '."\n" + .'SFP-10G-ZR-SM1550,80KM '."\n" + .'40GBase-LR : '."\n" + .'QSFP-40G-LR4-WDM1300,10KM'."\n" + .'QSFP-40G-ER4-WDM1300,40KM'."\n" + .'QSFP-40G-ZR4-WDM1300,80KM'."\n" + .'100GBase-LR : '."\n" + .'QSFP28-100G-LR4-WDM1300,10KM'."\n" + .'QSFP28-100G-ER4-WDM1300,40KM'."\n" + .'QSFP28-100G-ZR4-WDM1300,80KM', + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal system error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"BusinessAccessPoints\\": [\\n {\\n \\"AccessPointId\\": \\"ap-cn-hangzhou-xs-B\\",\\n \\"AccessPointName\\": \\"杭州-萧山-B\\",\\n \\"SupportLineOperator\\": \\"CT\\",\\n \\"SupportPortTypes\\": \\"1000Base-T\\",\\n \\"CloudBoxInstanceIds\\": \\"cb-****\\",\\n \\"Longitude\\": 120.247514,\\n \\"Latitude\\": 30.198416,\\n \\"OpticalModuleModels\\": [\\n {\\n \\"PortType\\": \\"\\",\\n \\"OpticalModuleModel\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\n \\n ap-cn-hangzhou-xs-B\\n 杭州-萧山-B\\n CT\\n 1000Base-T\\n cb-****\\n 120.247514\\n 30.198416\\n \\n","errorExample":""}]', + 'title' => '查询物理专线的接入点信息', + ], + 'CreateFailoverTestJob' => [ + 'summary' => '调用CreateFailoverTestJob接口创建高速通道故障演练任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '故障演练任务所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => '故障演练任务的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => '故障演练任务的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'title' => '资源类型。取值:'."\n" + .'● PHYSICALCONNECTION 物理专线'."\n" + .'● VIRTUALBORDERROUTER 虚拟边界路由器'."\n" + .'● BGPPEER BGP邻居', + 'description' => '演练资源类型。取值:**PHYSICALCONNECTION** 物理专线。', + 'type' => 'string', + 'required' => true, + 'example' => 'PHYSICALCONNECTION', + 'enum' => [ + 'PHYSICALCONNECTION', + 'VIRTUALBORDERROUTER', + 'BGPPEER', + ], + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'repeatList', + 'schema' => [ + 'title' => '资源ID列表。最多可以添加16个资源。', + 'description' => '演练资源ID列表。最多可以添加16个演练资源。', + 'type' => 'array', + 'items' => [ + 'description' => '演练资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-uf66k4e8pq3r00jfq****', + ], + 'required' => true, + 'maxItems' => 16, + 'minItems' => 1, + ], + ], + [ + 'name' => 'JobType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '任务类型。取值:'."\n" + .'● StartNow 立即开始'."\n" + .'● StartLater 稍后开始', + 'description' => '故障演练任务方式。取值:'."\n" + ."\n" + .'- **StartNow**:立即开始,演练任务创建成功后立即开始执行演练。'."\n" + ."\n" + .'- **StartLater**:暂不演练,仅创建演练任务暂不执行演练。', + 'type' => 'string', + 'required' => true, + 'example' => 'StartNow', + 'enum' => [ + 'StartNow', + 'StartLater', + ], + ], + ], + [ + 'name' => 'JobDuration', + 'in' => 'query', + 'schema' => [ + 'title' => '任务时长。单位为分钟,取值范围为:1-4320。', + 'description' => '故障演练任务时长。单位为分钟,取值范围为:**1~4320**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '4320', + 'minimum' => '1', + 'example' => '60', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '传true的时候,只进行资源的校验,不进行故障演练任务的创建。传false或者不传的时候,会先进行资源的校验,校验通过后创建故障演练任务。', + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送请求,不会创建故障演练任务。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接创建故障演练任务。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", + ], + 'JobId' => [ + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'example' => 'ftj-bp1yh6mvi13aq3g8w****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The param of Name [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'The param of Description [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceType', + 'errorMessage' => 'Invalid Resource Type value.', + ], + [ + 'errorCode' => 'EcFailoverTestJobExceedMaxResourceNum', + 'errorMessage' => 'The input resource number is exceeded the quota of 16.', + ], + [ + 'errorCode' => 'EcFailoverTestJobResourceInAnotherProcessingJob', + 'errorMessage' => 'There is another processing failover test job.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceId', + 'errorMessage' => 'The input parameter resource ID is invalid.', + ], + [ + 'errorCode' => 'IncorrectStatus.ResourceId', + 'errorMessage' => 'The specified resource status is invalid.', + ], + [ + 'errorCode' => 'IncorrectBusinessStatus.ResourceId', + 'errorMessage' => 'The specified resource business status is invalid.', + ], + [ + 'errorCode' => 'VpconnNotAssociatedVbr', + 'errorMessage' => 'The specified vpconn is not associated with vbr.', + ], + [ + 'errorCode' => 'VpconnWithVlan0NotSupportShutdown', + 'errorMessage' => 'The specified virtualPhysicalConnection with vlan 0 does not support shutdown.', + ], + [ + 'errorCode' => 'PconnContainsMoreThanOneVpconn', + 'errorMessage' => 'The specified physicalConnection contains more than one virtualPhysicalConnection.', + ], + [ + 'errorCode' => 'PconnContailsMoreThanOneAcrossCountVbr', + 'errorMessage' => 'The specified physicalConnection contains more than one virtualBorderRouter which is across count.', + ], + [ + 'errorCode' => 'IllegalParam.JobType', + 'errorMessage' => 'The specified parameter JobType is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.JobDuration', + 'errorMessage' => 'The specified parameter JobDuration is illegal.', + ], + [ + 'errorCode' => 'AnotherJobTesting', + 'errorMessage' => 'There is another job which is testing.', + ], + [ + 'errorCode' => 'MultiplePconnSingleVbrNotSupportShutdown', + 'errorMessage' => 'Vbr for single vbr and multiple pconn scenarios does not support failover test job.', + ], + [ + 'errorCode' => 'EcFailoverTestJobConflict', + 'errorMessage' => 'The current failover test job task is in operation, please try again later.', + ], + [ + 'errorCode' => 'OperationDeny.VbrWithVlan0', + 'errorMessage' => 'The specified VirtualBorderRouter with vlan 0 does not support shutdown.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\",\\n \\"JobId\\": \\"ftj-bp1yh6mvi13aq3g8w****\\"\\n}","type":"json"}]', + 'title' => '创建高速通道故障演练任务', + 'description' => '以下场景不支持创建故障演练任务:'."\n" + ."\n" + .'- 当前地域您已经有正在演练的故障演练任务,且本次创建故障演练任务的任务类型为立即开始。'."\n" + ."\n" + .'- 物理专线实例或者共享物理专线实例没有支付完成或者处于欠费状态。'."\n" + ."\n" + .'- 物理专线实例或者共享物理专线实例处于其他正在演练的故障演练任务中。'."\n" + .' '."\n" + .'- 物理专线实例下有超过1个共享物理专线。'."\n" + ."\n" + .'- 物理专线实例下有超过1个跨账号VBR。'."\n" + ."\n" + .'- 共享物理专线实例没有绑定VBR。'."\n" + ."\n" + .'- 共享物理专线实例的VLAN配置为0。', + ], + 'StartFailoverTestJob' => [ + 'summary' => '调用StartFailoverTestJob接口开始高速通道故障演练任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '故障演练任务所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务ID', + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ftj-bp1yh6mvi13aq3g8w****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.JobId', + 'errorMessage' => 'The specified parameter JobId is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.OnlyForInit', + 'errorMessage' => 'Only the init status failover test job can be started.', + ], + [ + 'errorCode' => 'EcFailoverTestJobResourceInAnotherProcessingJob', + 'errorMessage' => 'There is another processing failover test job.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceId', + 'errorMessage' => 'The input parameter resource ID is invalid.', + ], + [ + 'errorCode' => 'IncorrectStatus.ResourceId', + 'errorMessage' => 'The specified resource status is invalid.', + ], + [ + 'errorCode' => 'IncorrectBusinessStatus.ResourceId', + 'errorMessage' => 'The specified resource business status is invalid.', + ], + [ + 'errorCode' => 'VpconnNotAssociatedVbr', + 'errorMessage' => 'The specified vpconn is not associated with vbr.', + ], + [ + 'errorCode' => 'VpconnWithVlan0NotSupportShutdown', + 'errorMessage' => 'The specified virtualPhysicalConnection with vlan 0 does not support shutdown.', + ], + [ + 'errorCode' => 'PconnContainsMoreThanOneVpconn', + 'errorMessage' => 'The specified physicalConnection contains more than one virtualPhysicalConnection.', + ], + [ + 'errorCode' => 'PconnContailsMoreThanOneAcrossCountVbr', + 'errorMessage' => 'The specified physicalConnection contains more than one virtualBorderRouter which is across count.', + ], + [ + 'errorCode' => 'EcFailoverTestJobConflict', + 'errorMessage' => 'The current failover test job task is in operation, please try again later.', + ], + [ + 'errorCode' => 'AnotherJobTesting', + 'errorMessage' => 'There is another job which is testing.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', + 'title' => '开始高速通道故障演练任务', + 'description' => '只支持开始处于**待演练**状态的故障演练任务。', + ], + 'StopFailoverTestJob' => [ + 'summary' => '调用StopFailoverTestJob接口结束高速通道故障演练任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '故障演练任务所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务ID', + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ftj-bp1yh6mvi13aq3g8w****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.JobId', + 'errorMessage' => 'The specified parameter JobId is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.OnlyForTesting', + 'errorMessage' => 'Only the failover test job in the testing state can be stopped.', + ], + [ + 'errorCode' => 'EcFailoverTestJobConflict', + 'errorMessage' => 'The current failover test job task is in operation, please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', + 'title' => '结束高速通道故障演练任务', + 'description' => '只支持结束处于**演练中**状态的故障演练任务。', + ], + 'UpdateFailoverTestJob' => [ + 'summary' => '调用UpdateFailoverTestJob接口更新高速通道故障演练任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '故障演练任务所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => '故障演练任务的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => '故障演练任务的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'repeatList', + 'schema' => [ + 'title' => '资源ID列表。最多可以添加16个资源。', + 'description' => '故障演练资源ID列表。最多可以添加16个资源。', + 'type' => 'array', + 'items' => [ + 'description' => '故障演练资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-uf66k4e8pq3r00jfq****', + ], + 'required' => false, + 'maxItems' => 16, + 'minItems' => 1, + ], + ], + [ + 'name' => 'JobDuration', + 'in' => 'query', + 'schema' => [ + 'title' => '任务时长。单位为分钟,取值范围为:1-4320。', + 'description' => '故障演练任务时长。单位为分钟,取值范围为:**1~4320**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '4320', + 'minimum' => '1', + 'example' => '60', + ], + ], + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务ID', + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ftj-bp1yh6mvi13aq3g8w****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送请求,不会更新故障演练任务。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。 '."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接更新故障演练任务。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The param of Name [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'The param of Description [%s] is illegal.', + ], + [ + 'errorCode' => 'EcFailoverTestJobExceedMaxResourceNum', + 'errorMessage' => 'The input resource number is exceeded the quota of 16.', + ], + [ + 'errorCode' => 'EcFailoverTestJobResourceInAnotherProcessingJob', + 'errorMessage' => 'There is another processing failover test job.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceId', + 'errorMessage' => 'The input parameter resource ID is invalid.', + ], + [ + 'errorCode' => 'IncorrectStatus.ResourceId', + 'errorMessage' => 'The specified resource status is invalid.', + ], + [ + 'errorCode' => 'IncorrectBusinessStatus.ResourceId', + 'errorMessage' => 'The specified resource business status is invalid.', + ], + [ + 'errorCode' => 'VpconnNotAssociatedVbr', + 'errorMessage' => 'The specified vpconn is not associated with vbr.', + ], + [ + 'errorCode' => 'VpconnWithVlan0NotSupportShutdown', + 'errorMessage' => 'The specified virtualPhysicalConnection with vlan 0 does not support shutdown.', + ], + [ + 'errorCode' => 'PconnContainsMoreThanOneVpconn', + 'errorMessage' => 'The specified physicalConnection contains more than one virtualPhysicalConnection.', + ], + [ + 'errorCode' => 'PconnContailsMoreThanOneAcrossCountVbr', + 'errorMessage' => 'The specified physicalConnection contains more than one virtualBorderRouter which is across count.', + ], + [ + 'errorCode' => 'IllegalParam.JobDuration', + 'errorMessage' => 'The specified parameter JobDuration is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.JobId', + 'errorMessage' => 'The specified parameter JobId is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.OnlyForInit', + 'errorMessage' => 'Only the init status failover test job can be started.', + ], + [ + 'errorCode' => 'MultiplePconnSingleVbrNotSupportShutdown', + 'errorMessage' => 'Vbr for single vbr and multiple pconn scenarios does not support failover test job.', + ], + [ + 'errorCode' => 'EcFailoverTestJobConflict', + 'errorMessage' => 'The current failover test job task is in operation, please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', + 'title' => '更新高速通道故障演练任务', + 'description' => '只支持更新处于**待演练**状态的故障演练任务。', + ], + 'DeleteFailoverTestJob' => [ + 'summary' => '调用DeleteFailoverTestJob接口删除高速通道故障演练任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '故障演练任务所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'ch-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", + ], + ], + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务ID', + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ftj-bp1yh6mvi13aq3g8w****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.JobId', + 'errorMessage' => 'The specified parameter JobId is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.OnlyForInitOrStopped', + 'errorMessage' => 'Only failover test job in the status of init or stopped can be deleted.', + ], + [ + 'errorCode' => 'EcFailoverTestJobConflict', + 'errorMessage' => 'The current failover test job task is in operation, please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', + 'title' => '删除高速通道故障演练任务', + 'description' => '只支持删除处于**待演练**和**已完成**状态的故障演练任务。', + ], + 'DescribeFailoverTestJob' => [ + 'summary' => '调用DescribeFailoverTestJob接口查询高速通道故障演练任务详情。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '故障演练任务所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'title' => '故障演练任务ID', + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ftj-bp1yh6mvi13aq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + 'FailoverTestJobModel' => [ + 'description' => '故障演练任务。', + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'title' => '故障演练任务ID。', + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'example' => 'ftj-bp1yh6mvi13aq3g8w****', + ], + 'Name' => [ + 'title' => '故障演练任务的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => '故障演练任务的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'test', + ], + 'Description' => [ + 'title' => '故障演练任务的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => '故障演练任务的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'test', + ], + 'ResourceType' => [ + 'title' => '资源类型。取值:'."\n" + .'● PHYSICALCONNECTION 物理专线'."\n" + .'● VIRTUALBORDERROUTER 虚拟边界路由器'."\n" + .'● BGPPEER BGP邻居', + 'description' => '故障演练资源类型。取值:**PHYSICALCONNECTION**物理专线。', + 'type' => 'string', + 'example' => 'PHYSICALCONNECTION', + ], + 'ResourceId' => [ + 'description' => '故障演练资源ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '故障演练资源ID。', + 'type' => 'string', + 'example' => 'pc-hp34pxu31qo36a72u****', + ], + ], + 'JobType' => [ + 'title' => '演练类型。取值:'."\n" + .'● StartNow 立即开始'."\n" + .'● StartLater 稍后开始', + 'description' => '故障演练类型。取值:'."\n" + ."\n" + .'- **StartNow**:立即开始,任务演练任务创建成功后立即开始执行演练。'."\n" + ."\n" + .'- **StartLater**:暂不演练,仅创建演练任务暂不执行演练。', + 'type' => 'string', + 'example' => 'StartNow', + ], + 'JobDuration' => [ + 'title' => '演练时长。单位为分钟,取值范围为:1-4320', + 'description' => '故障演练时长。单位为分钟,取值范围为:**1~4320**。', + 'type' => 'string', + 'example' => '60', + ], + 'StartTime' => [ + 'title' => '故障演练任务开始时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'description' => '故障演练任务开始时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2023-11-21T14:00:00Z'."\n", + ], + 'StopTime' => [ + 'title' => '故障演练任务结束时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'description' => '故障演练任务结束时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2023-11-21T15:00:00Z'."\n", + ], + 'Status' => [ + 'title' => '故障演练任务状态。取值:'."\n" + .'● Init 待演练'."\n" + .'● Starting 开始中'."\n" + .'● Testing 演练中'."\n" + .'● Stopping 结束中'."\n" + .'● Stopped 已结束', + 'description' => '故障演练任务状态。取值:'."\n" + ."\n" + .'- **Init**:待演练。'."\n" + ."\n" + .'- **Starting**:开始中。'."\n" + ."\n" + .'- **Testing**:演练中。'."\n" + ."\n" + .'- **Stopping**:结束中。'."\n" + ."\n" + .'- **Stopped**:已完成。', + 'type' => 'string', + 'example' => 'Init', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.JobId', + 'errorMessage' => 'The specified parameter JobId is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\",\\n \\"FailoverTestJobModel\\": {\\n \\"JobId\\": \\"ftj-bp1yh6mvi13aq3g8w****\\",\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"ResourceType\\": \\"PHYSICALCONNECTION\\",\\n \\"ResourceId\\": [\\n \\"pc-hp34pxu31qo36a72u****\\"\\n ],\\n \\"JobType\\": \\"StartNow\\",\\n \\"JobDuration\\": \\"60\\",\\n \\"StartTime\\": \\"2023-11-21T14:00:00Z\\\\n\\",\\n \\"StopTime\\": \\"2023-11-21T15:00:00Z\\\\n\\",\\n \\"Status\\": \\"Init\\"\\n }\\n}","type":"json"}]', + 'title' => '查询高速通道故障演练任务详情', + ], + 'DescribeFailoverTestJobs' => [ + 'summary' => '调用DescribeFailoverTestJobs接口批量查询高速通道故障演练任务。', + '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' => '故障演练任务所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'● 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'● 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'title' => '分批次查询时每次显示的条目数。取值范围:1~100,默认值为20。', + 'description' => '分批次查询时每次显示的条目数。取值范围:**1~100**,默认值为20。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤信息。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤信息列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '过滤条件。取值:'."\n" + .'● JobId:故障演练任务ID'."\n" + .'● JobName:故障演练任务名称'."\n" + .'● JobStatus:任务状态'."\n" + .' ○ Init 待演练'."\n" + .' ○ Starting 开始中'."\n" + .' ○ Testing 演练中'."\n" + .' ○ Stopping 结束中'."\n" + .' ○ Stopped 已完成'."\n" + .'● ResourceId:资源ID'."\n" + .'● ResourceName:资源名称'."\n" + .'● ResourceType:资源类型'."\n" + .' ○ PHYSICALCONNECTION 物理专线'."\n" + .'一次最多支持输入5个过滤条件,过滤条件不支持重复,如果输入资源ID或者资源名称,必须输入资源类型。各个过滤条件之间为与关系,符合所有的过滤条件,才会返回正确的查询结果。', + 'description' => '过滤条件。取值:'."\n" + ."\n" + .'- **JobId**:故障演练任务ID。'."\n" + ."\n" + .'- **JobName**:故障演练任务名称。'."\n" + ."\n" + .'- **JobStatus**:故障演练任务状态。'."\n" + ."\n" + .'- **ResourceId**:故障演练资源ID。'."\n" + ."\n" + .'- **ResourceName**:故障演练资源名称。'."\n" + ."\n" + .'- **ResourceType**:故障演练资源类型。'."\n" + ."\n" + .'> 请确保最多输入5个不重复的过滤条件。当输入资源ID或资源名称时,需同时输入资源类型。所有过滤条件需同时满足才能得到准确的查询结果。', + 'type' => 'string', + 'required' => false, + 'example' => 'JobId', + 'enum' => [ + 'JobId', + 'JobName', + 'JobStatus', + 'ResourceId', + 'ResourceName', + 'ResourceType', + ], + ], + 'Value' => [ + 'title' => '过滤条件对应的过滤值。'."\n" + .'一个过滤条件支持最多输入5个过滤值,多个过滤值之间为或关系,只要与其中一个过滤值匹配则视为符合该过滤条件。', + 'description' => '过滤条件对应的过滤值。'."\n" + ."\n" + .'> 请确保每个过滤条件可以包含最多5个过滤值。这些过滤值之间采用"或"的关系,即只需满足其中任一过滤值,即可认为符合该过滤条件。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤条件对应的过滤值。 '."\n" + ."\n" + .'> 请确保每个过滤条件可以包含最多5个过滤值。这些过滤值之间采用"或"的关系,即只需满足其中任一过滤值,即可认为符合该过滤条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'ftj-bp1yh6mvi13aq3g8w****', + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'FailoverTestJobList' => [ + 'description' => '故障演练任务列表。', + 'type' => 'array', + 'items' => [ + 'description' => '故障演练任务。', + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'title' => '故障演练任务ID。', + 'description' => '故障演练任务ID。', + 'type' => 'string', + 'example' => 'ftj-bp1yh6mvi13aq3g8w****'."\n", + ], + 'Name' => [ + 'title' => '故障演练任务的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => '故障演练任务的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'test', + ], + 'Description' => [ + 'title' => '故障演练任务的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => '故障演练任务的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以**http://**或**https://**开头。', + 'type' => 'string', + 'example' => 'test', + ], + 'ResourceType' => [ + 'title' => '资源类型。取值:'."\n" + .'● PHYSICALCONNECTION 物理专线'."\n" + .'● VIRTUALBORDERROUTER 虚拟边界路由器'."\n" + .'● BGPPEER BGP邻居', + 'description' => '故障演练资源类型。取值:**PHYSICALCONNECTION**物理专线。', + 'type' => 'string', + 'example' => 'PHYSICALCONNECTION', + ], + 'ResourceId' => [ + 'title' => '资源ID列表', + 'description' => '故障演练资源ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'pc-uf66k4e8pq3r00jfq****', + ], + ], + 'JobType' => [ + 'title' => '演练类型。取值:'."\n" + .'● StartNow 立即开始'."\n" + .'● StartLater 稍后开始', + 'description' => '故障演练类型。取值:'."\n" + ."\n" + .'- **StartNow**:立即开始,任务演练任务创建成功后立即开始执行演练。'."\n" + ."\n" + .'- **StartLater**:暂不演练,仅创建演练任务暂不执行演练。', + 'type' => 'string', + 'example' => 'StartNow', + ], + 'JobDuration' => [ + 'title' => '演练时长。单位为分钟,取值范围为:1-4320', + 'description' => '演练时长。单位为分钟,取值范围为:**1~4320**。', + 'type' => 'string', + 'example' => '60', + ], + 'StartTime' => [ + 'title' => '故障演练任务开始时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'description' => '故障演练任务开始时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2023-11-21T14:00:00Z', + ], + 'StopTime' => [ + 'title' => '故障演练任务结束时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'description' => '故障演练任务结束时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2023-11-21T15:00:00Z'."\n", + ], + 'Status' => [ + 'title' => '故障演练任务状态。取值:'."\n" + .'● Init 待演练'."\n" + .'● Starting 开始中'."\n" + .'● Testing 演练中'."\n" + .'● Stopping 结束中'."\n" + .'● Stopped 已结束', + 'description' => '故障演练任务状态。取值:'."\n" + ."\n" + .'- **Init**:待演练。'."\n" + ."\n" + .'- **Starting**:开始中。'."\n" + ."\n" + .'- **Testing**:演练中。'."\n" + ."\n" + .'- **Stopping**:结束中。'."\n" + ."\n" + .'- **Stopped**:已完成。', + 'type' => 'string', + 'example' => 'Init', + ], + ], + ], + ], + 'NextToken' => [ + 'title' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'● 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'● 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'title' => '分批次查询时每次显示的条目数。取值范围:1~100,默认值为20。', + 'description' => '分批次查询时每次显示的条目数。取值范围:**1~100**,默认值为20。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TotalCount' => [ + 'title' => '列表总条目数。', + 'description' => '列表总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Count' => [ + 'title' => '列表当前条目数。', + 'description' => '列表当前条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Filter.Key', + 'errorMessage' => 'The filter parameter Key is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.Filter.Value', + 'errorMessage' => 'The filter parameter Value is illegal.', + ], + [ + 'errorCode' => 'SystemQuotaConstraint.Filter.Value', + 'errorMessage' => 'The number of values in a key in the filter parameter cannot exceed 5.', + ], + [ + 'errorCode' => 'SystemQuotaConstraint.Filter.Key', + 'errorMessage' => 'The number of keys in the filter parameter cannot exceed 5.', + ], + [ + 'errorCode' => 'IllegalParam.FilterKey.ResourceType', + 'errorMessage' => 'Filter parameters do not support entering only ResourceId or ResourceName without entering ResourceType.', + ], + [ + 'errorCode' => 'IllegalParam.JobId', + 'errorMessage' => 'The specified parameter JobId is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceType', + 'errorMessage' => 'Invalid %s value.', + ], + [ + 'errorCode' => 'IncorrectStatus.ResourceId', + 'errorMessage' => 'The specified resource status is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"FailoverTestJobList\\": [\\n {\\n \\"JobId\\": \\"ftj-bp1yh6mvi13aq3g8w****\\\\n\\",\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"ResourceType\\": \\"PHYSICALCONNECTION\\",\\n \\"ResourceId\\": [\\n \\"pc-uf66k4e8pq3r00jfq****\\"\\n ],\\n \\"JobType\\": \\"StartNow\\",\\n \\"JobDuration\\": \\"60\\",\\n \\"StartTime\\": \\"2023-11-21T14:00:00Z\\",\\n \\"StopTime\\": \\"2023-11-21T15:00:00Z\\\\n\\",\\n \\"Status\\": \\"Init\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20,\\n \\"TotalCount\\": 10,\\n \\"Count\\": 10\\n}","type":"json"}]', + 'title' => '批量查询高速通道故障演练任务', + ], + 'DescribeExpressConnectTrafficQosRule' => [ + 'summary' => '调用DescribeExpressConnectTrafficQosRule查询高速通道QoS规则,不支持分页参数。', + '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' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RuleIdList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Qos队列ID集合。', + 'description' => 'QoS规则ID集合。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS规则ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rule-iugg0l9x27f2no****'."\n", + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RuleNameList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Qos队列名称集合。', + 'description' => 'QoS规则名称集合。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS规则名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rule-test', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。'."\n" + ."\n" + .'> 该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'QueueId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB', + ], + 'RuleList' => [ + 'description' => 'QoS规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS规则信息。', + 'type' => 'object', + 'properties' => [ + 'QosId' => [ + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-pksbqfmotl5hzq****', + ], + 'QueueId' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-9nyx2u7n71s2rc****'."\n", + ], + 'Priority' => [ + 'description' => 'QoS规则优先级。取值范围:**1**~**9000**,数字越大优先级越高,在同一个QoS策略内QoS规则优先级不允许重复。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Protocol' => [ + 'description' => 'QoS规则协议类型,取值:'."\n" + ."\n" + .'- **ALL**'."\n" + ."\n" + .'- **ICMP(IPv4)**'."\n" + ."\n" + .'- **ICMPv6(IPv6)**'."\n" + ."\n" + .'- **TCP**'."\n" + ."\n" + .'- **UDP**'."\n" + ."\n" + .'- **GRE**'."\n" + ."\n" + .'- **SSH**'."\n" + ."\n" + .'- **Telnet**'."\n" + ."\n" + .'- **HTTP**'."\n" + ."\n" + .'- **HTTPS**'."\n" + ."\n" + .'- **MS SQL**'."\n" + ."\n" + .'- **Oracle**'."\n" + ."\n" + .'- **MySql**'."\n" + ."\n" + .'- **RDP**'."\n" + ."\n" + .'- **PostgreSQL**'."\n" + ."\n" + .'- **Redis**', + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'ALL', + ], + 'SrcCidr' => [ + 'description' => 'QoS规则流量匹配源IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'example' => '1.1.**.**/24'."\n", + ], + 'DstCidr' => [ + 'description' => 'QoS规则流量匹配目的IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'example' => '1.1.**.**/24'."\n", + ], + 'SrcIPv6Cidr' => [ + 'description' => 'QoS规则流量匹配源IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'example' => '2001:0db8:1234:****::/64'."\n", + ], + 'DstIPv6Cidr' => [ + 'description' => 'QoS规则流量匹配目的IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'example' => '2001:0db8:1234:****::/64'."\n", + ], + 'SrcPortRange' => [ + 'description' => 'QoS规则流量匹配源端口号范围,取值范围:**0**~**65535**,当不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。', + 'type' => 'string', + 'example' => '-1/-1'."\n", + ], + 'DstPortRange' => [ + 'description' => 'QoS规则流量匹配目的端口号范围。取值范围:**0**~**65535**,如果不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。不同的协议类型,对应的目的端口号范围是固定的,取值如下:'."\n" + ."\n" + .'- **ALL**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMP(IPv4)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMPv6(IPv6)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **TCP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **UDP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **GRE**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **SSH**:22/22,不可编辑。'."\n" + ."\n" + .'- **Telnet**:23/23,不可编辑。'."\n" + ."\n" + .'- **HTTP**:80/80,不可编辑。'."\n" + ."\n" + .'- **HTTPS**:443/443,不可编辑。'."\n" + ."\n" + .'- **MS SQL**:1443/1443,不可编辑。'."\n" + ."\n" + .'- **Oracle**:1521/1521,不可编辑。'."\n" + ."\n" + .'- **MySql**:3306/3306,不可编辑。'."\n" + ."\n" + .'- **RDP**:3389/3389,不可编辑。'."\n" + ."\n" + .'- **PostgreSQL**:5432/5432,不可编辑。'."\n" + ."\n" + .'- **Redis**:6379/6379,不可编辑。', + 'type' => 'string', + 'example' => '-1/-1'."\n", + ], + 'MatchDscp' => [ + 'description' => 'QoS规则匹配流量的DSCP值。取值范围:**0**~**63**,如果不匹配时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RemarkingDscp' => [ + 'description' => '修改流量中的DSCP值。取值范围:**0**~**63**,如果不修改时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RuleName' => [ + 'description' => 'QoS规则的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-rule-test'."\n", + ], + 'RuleDescription' => [ + 'description' => 'QoS规则的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-rule-test'."\n", + ], + 'RuleId' => [ + 'description' => 'QoS规则ID。', + 'type' => 'string', + 'example' => 'qos-rule-iugg0l9x27f2noc****', + ], + 'Status' => [ + 'description' => 'QoS规则的状态。取值:'."\n" + ."\n" + .'- **Normal**:可用。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Normal', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB\\",\\n \\"RuleList\\": [\\n {\\n \\"QosId\\": \\"qos-pksbqfmotl5hzq****\\",\\n \\"QueueId\\": \\"qos-queue-9nyx2u7n71s2rc****\\\\n\\",\\n \\"Priority\\": 1,\\n \\"Protocol\\": \\"ALL\\",\\n \\"SrcCidr\\": \\"1.1.**.**/24\\\\n\\",\\n \\"DstCidr\\": \\"1.1.**.**/24\\\\n\\",\\n \\"SrcIPv6Cidr\\": \\"2001:0db8:1234:****::/64\\\\n\\",\\n \\"DstIPv6Cidr\\": \\"2001:0db8:1234:****::/64\\\\n\\",\\n \\"SrcPortRange\\": \\"-1/-1\\\\n\\",\\n \\"DstPortRange\\": \\"-1/-1\\\\n\\",\\n \\"MatchDscp\\": 1,\\n \\"RemarkingDscp\\": 1,\\n \\"RuleName\\": \\"qos-rule-test\\\\n\\",\\n \\"RuleDescription\\": \\"qos-rule-test\\\\n\\",\\n \\"RuleId\\": \\"qos-rule-iugg0l9x27f2noc****\\",\\n \\"Status\\": \\"Normal\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询高速通道QoS规则', + ], + 'DescribeExpressConnectTrafficQosQueue' => [ + 'summary' => '调用DescribeExpressConnectTrafficQosQueue查询高速通道QoS队列。', + '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' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'QueueIdList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Qos队列ID集合。', + 'description' => 'QoS队列ID集合。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'QueueNameList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Qos队列名称集合。', + 'description' => 'QoS队列名称集合。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS队列名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-test', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。'."\n" + ."\n" + .'> 该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + 'QueueList' => [ + 'description' => 'QoS队列列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS队列信息。', + 'type' => 'object', + 'properties' => [ + 'QosId' => [ + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-ncfgzxg40zks5n****', + ], + 'QueueId' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + 'QueueType' => [ + 'description' => 'QoS队列类型,取值:'."\n" + ."\n" + .'- **High**:高优先级队列。'."\n" + ."\n" + .'- **Medium**:普通优先级队列。'."\n" + ."\n" + .'- **Default**:默认优先级队列。'."\n" + ."\n" + .'> 默认优先级队列无法创建。', + 'type' => 'string', + 'example' => 'High', + ], + 'BandwidthPercent' => [ + 'description' => 'QoS队列带宽百分比。'."\n" + ."\n" + .'* 当QoS队列类型为**Medium**的时候,此字段必须输入,取值范围为:**1**~**100**。'."\n" + ."\n" + .'* 当QoS队列类型为**Default**的时候,此字段为"-"。', + 'type' => 'string', + 'example' => '100', + ], + 'QueueName' => [ + 'description' => 'QoS队列的名称。'."\n" + ."\n" + .'长度为**0**~**128**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-queue-test', + ], + 'QueueDescription' => [ + 'description' => 'QoS队列的描述信息。'."\n" + ."\n" + .'长度为**0**~**256**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-queue-test', + ], + 'RuleList' => [ + 'description' => 'QoS规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS规则信息。', + 'type' => 'object', + 'properties' => [ + 'QosId' => [ + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-91xz9f8zd7yj8x****', + ], + 'QueueId' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-iugg0l9x27f2no****', + ], + 'Priority' => [ + 'description' => 'QoS规则优先级。取值范围:**1**~**9000**,数字越大优先级越高,在同一个QoS策略内QoS规则优先级不允许重复。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Protocol' => [ + 'description' => 'QoS规则协议类型,取值:'."\n" + ."\n" + .'- **ALL**'."\n" + ."\n" + .'- **ICMP(IPv4)**'."\n" + ."\n" + .'- **ICMPv6(IPv6)**'."\n" + ."\n" + .'- **TCP**'."\n" + ."\n" + .'- **UDP**'."\n" + ."\n" + .'- **GRE**'."\n" + ."\n" + .'- **SSH**'."\n" + ."\n" + .'- **Telnet**'."\n" + ."\n" + .'- **HTTP**'."\n" + ."\n" + .'- **HTTPS**'."\n" + ."\n" + .'- **MS SQL**'."\n" + ."\n" + .'- **Oracle**'."\n" + ."\n" + .'- **MySql**'."\n" + ."\n" + .'- **RDP**'."\n" + ."\n" + .'- **PostgreSQL**'."\n" + ."\n" + .'- **Redis**', + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'ALL', + ], + 'SrcCidr' => [ + 'description' => 'QoS规则流量匹配源IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'example' => '1.1.**.**/24', + ], + 'DstCidr' => [ + 'description' => 'QoS规则流量匹配目的IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'example' => '1.1.**.**/24'."\n", + ], + 'SrcIPv6Cidr' => [ + 'description' => 'QoS规则流量匹配源IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'example' => '2001:0db8:1234:****::/64', + ], + 'DstIPv6Cidr' => [ + 'description' => 'QoS规则流量匹配目的IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'example' => '2001:0db8:1234:****::/64', + ], + 'SrcPortRange' => [ + 'description' => 'QoS规则流量匹配源端口号范围,取值范围:**0**~**65535**,当不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。', + 'type' => 'string', + 'example' => '-1/-1', + ], + 'DstPortRange' => [ + 'description' => 'QoS规则流量匹配目的端口号范围。取值范围:**0**~**65535**,如果不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。不同的协议类型,对应的目的端口号范围是固定的,取值如下:'."\n" + ."\n" + .'- **ALL**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMP(IPv4)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMPv6(IPv6)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **TCP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **UDP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **GRE**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **SSH**:22/22,不可编辑。'."\n" + ."\n" + .'- **Telnet**:23/23,不可编辑。'."\n" + ."\n" + .'- **HTTP**:80/80,不可编辑。'."\n" + ."\n" + .'- **HTTPS**:443/443,不可编辑。'."\n" + ."\n" + .'- **MS SQL**:1443/1443,不可编辑。'."\n" + ."\n" + .'- **Oracle**:1521/1521,不可编辑。'."\n" + ."\n" + .'- **MySql**:3306/3306,不可编辑。'."\n" + ."\n" + .'- **RDP**:3389/3389,不可编辑。'."\n" + ."\n" + .'- **PostgreSQL**:5432/5432,不可编辑。'."\n" + ."\n" + .'- **Redis**:6379/6379,不可编辑。', + 'type' => 'string', + 'example' => '-1/-1', + ], + 'MatchDscp' => [ + 'description' => 'QoS规则匹配流量的DSCP值。取值范围:**0**~**63**,如果不匹配时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RemarkingDscp' => [ + 'description' => '修改流量中的DSCP值。取值范围:**0**~**63**,如果不修改时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RuleName' => [ + 'description' => 'QoS规则的名称。'."\n" + ."\n" + .'长度为**0**~**128**个字符,不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-rule-test', + ], + 'RuleDescription' => [ + 'description' => 'QoS规则的描述信息。'."\n" + ."\n" + .'长度为**0**~**256**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-rule-test', + ], + 'RuleId' => [ + 'description' => 'QoS规则ID。', + 'type' => 'string', + 'example' => 'qos-rule-iugg0l9x27f2no****'."\n", + ], + 'Status' => [ + 'description' => 'QoS规则的状态。取值:'."\n" + ."\n" + .'- **Normal**:可用。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Normal', + ], + ], + ], + ], + 'Status' => [ + 'description' => 'QoS队列的状态。取值:'."\n" + ."\n" + .'- **Normal**:可用。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Normal', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\",\\n \\"QueueList\\": [\\n {\\n \\"QosId\\": \\"qos-ncfgzxg40zks5n****\\",\\n \\"QueueId\\": \\"qos-queue-9nyx2u7n71s2rc****\\",\\n \\"QueueType\\": \\"High\\",\\n \\"BandwidthPercent\\": \\"100\\",\\n \\"QueueName\\": \\"qos-queue-test\\",\\n \\"QueueDescription\\": \\"qos-queue-test\\",\\n \\"RuleList\\": [\\n {\\n \\"QosId\\": \\"qos-91xz9f8zd7yj8x****\\",\\n \\"QueueId\\": \\"qos-queue-iugg0l9x27f2no****\\",\\n \\"Priority\\": 1,\\n \\"Protocol\\": \\"ALL\\",\\n \\"SrcCidr\\": \\"1.1.**.**/24\\",\\n \\"DstCidr\\": \\"1.1.**.**/24\\\\n\\",\\n \\"SrcIPv6Cidr\\": \\"2001:0db8:1234:****::/64\\",\\n \\"DstIPv6Cidr\\": \\"2001:0db8:1234:****::/64\\",\\n \\"SrcPortRange\\": \\"-1/-1\\",\\n \\"DstPortRange\\": \\"-1/-1\\",\\n \\"MatchDscp\\": 1,\\n \\"RemarkingDscp\\": 1,\\n \\"RuleName\\": \\"qos-rule-test\\",\\n \\"RuleDescription\\": \\"qos-rule-test\\",\\n \\"RuleId\\": \\"qos-rule-iugg0l9x27f2no****\\\\n\\",\\n \\"Status\\": \\"Normal\\"\\n }\\n ],\\n \\"Status\\": \\"Normal\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询高速通道QoS队列', + ], + 'DescribeExpressConnectTrafficQos' => [ + 'summary' => '调用DescribeExpressConnectTrafficQos接口查询高速通道QoS策略,支持分页参数。', + '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' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'QosIdList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Qos策略ID集合。', + 'description' => 'QoS策略ID集合。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'QosNameList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'Qos策略名称集合。', + 'description' => 'QoS策略名称集合。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS策略名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-test', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'● 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'● 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'* 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'* 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'title' => '分批次查询时每次显示的条目数。取值范围:1~100,默认值为20。', + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazfdgdg****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入 1 个标签键,最多支持输入 20 个标签键。如需传入该值,不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入 20 个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TotalCount' => [ + 'description' => '返回结果总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Count' => [ + 'description' => '列表当前条目数。', + 'type' => 'string', + 'example' => '1', + ], + 'QosList' => [ + 'description' => 'QoS策略信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS策略信息。', + 'type' => 'object', + 'properties' => [ + 'QosId' => [ + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-pksbqfmotl5hzq****', + ], + 'QosName' => [ + 'description' => 'QoS策略的名称。 '."\n" + ."\n" + .'长度为**0**~**128**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-test', + ], + 'QosDescription' => [ + 'description' => 'QoS策略的描述信息。 '."\n" + ."\n" + .'长度为**0**~**256**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-test', + ], + 'Status' => [ + 'description' => 'QoS策略的状态。取值:'."\n" + ."\n" + .'- **Normal**:可用。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'> 处于配置中状态的QoS将会限制绝大部分的QoS策略、QoS队列,QoS规则的创建、更新和删除操作。', + 'type' => 'string', + 'enumValueTitles' => [ + 'Configuring' => 'Configuring', + 'Normal' => 'Normal', + ], + 'example' => 'Normal', + ], + 'Progressing' => [ + 'description' => 'QoS策略整体配置进度,取值范围为:**0**~**100**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'AssociatedInstanceList' => [ + 'description' => '关联实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '关联实例信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '关联实例的ID。', + 'type' => 'string', + 'example' => 'pc-bp159zj8zujwy3p07****', + ], + 'InstanceType' => [ + 'description' => '关联实例的类型。取值:**PHYSICALCONNECTION**物理专线。', + 'type' => 'string', + 'enumValueTitles' => [ + 'PHYSICALCONNECTION' => 'PHYSICALCONNECTION', + ], + 'example' => 'PHYSICALCONNECTION', + ], + 'InstanceStatus' => [ + 'description' => '关联实例的状态。取值:'."\n" + ."\n" + .'- **Normal**:可用。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'enumValueTitles' => [ + 'Configuring' => 'Configuring', + 'Normal' => 'Normal', + 'Deleting' => 'Deleting', + ], + 'example' => 'Normal', + ], + 'InstanceProgressing' => [ + 'description' => '关联实例的配置进度,取值范围为:**0**~**100**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + ], + ], + ], + 'QueueList' => [ + 'description' => 'QoS队列列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'QoS队列信息。', + 'type' => 'object', + 'properties' => [ + 'QosId' => [ + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-pksbqfmotl5hzq****', + ], + 'QueueId' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + 'QueueType' => [ + 'description' => 'QoS队列类型,取值:'."\n" + ."\n" + .'- **High**:高优先级队列。'."\n" + ."\n" + .'- **Medium**:普通优先级队列。'."\n" + ."\n" + .'- **Default**:默认优先级队列。'."\n" + ."\n" + .'> 默认优先级队列无法创建。', + 'type' => 'string', + 'enumValueTitles' => [ + 'High' => 'High', + 'Medium' => 'Medium', + 'Default' => 'Default', + ], + 'example' => 'High', + ], + 'BandwidthPercent' => [ + 'description' => 'QoS队列带宽百分比。'."\n" + ."\n" + .'* 当QoS队列类型为**Medium**的时候,此字段必须输入,取值范围为:**1**~**100**。'."\n" + ."\n" + .'* 当QoS队列类型为**Default**的时候,此字段为"-"。', + 'type' => 'string', + 'example' => '100', + ], + 'QueueName' => [ + 'description' => 'QoS队列的名称。'."\n" + ."\n" + .'长度为**0**~**128**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-queue-test', + ], + 'QueueDescription' => [ + 'description' => 'QoS队列的描述信息。'."\n" + ."\n" + .'长度为**0**~**256**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'qos-queue-test', + ], + 'Status' => [ + 'description' => 'QoS队列的状态。取值:'."\n" + ."\n" + .'- **Normal**:可用。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Normal', + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => '资源组 ID。', + 'type' => 'string', + 'example' => 'rg-acfmz7vtyl4f***', + ], + 'Tags' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20,\\n \\"TotalCount\\": 10,\\n \\"Count\\": \\"1\\",\\n \\"QosList\\": [\\n {\\n \\"QosId\\": \\"qos-pksbqfmotl5hzq****\\",\\n \\"QosName\\": \\"qos-test\\",\\n \\"QosDescription\\": \\"qos-test\\",\\n \\"Status\\": \\"Normal\\",\\n \\"Progressing\\": 100,\\n \\"AssociatedInstanceList\\": [\\n {\\n \\"InstanceId\\": \\"pc-bp159zj8zujwy3p07****\\",\\n \\"InstanceType\\": \\"PHYSICALCONNECTION\\",\\n \\"InstanceStatus\\": \\"Normal\\",\\n \\"InstanceProgressing\\": 100\\n }\\n ],\\n \\"QueueList\\": [\\n {\\n \\"QosId\\": \\"qos-pksbqfmotl5hzq****\\",\\n \\"QueueId\\": \\"qos-queue-9nyx2u7n71s2rc****\\",\\n \\"QueueType\\": \\"High\\",\\n \\"BandwidthPercent\\": \\"100\\",\\n \\"QueueName\\": \\"qos-queue-test\\",\\n \\"QueueDescription\\": \\"qos-queue-test\\",\\n \\"Status\\": \\"Normal\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmz7vtyl4f***\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询高速通道QoS策略', + ], + 'DeleteExpressConnectTrafficQosQueue' => [ + 'summary' => '调用DeleteExpressConnectTrafficQosQueue接口删除高速通道QoS队列。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'QueueId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9B9300FE-11E2-4E3B-949C-BED3B44DD26D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B9300FE-11E2-4E3B-949C-BED3B44DD26D\\"\\n}","type":"json"}]', + 'title' => '删除高速通道QoS队列', + ], + 'DeleteExpressConnectTrafficQos' => [ + 'summary' => '调用DeleteExpressConnectTrafficQos接口删除高速通道QoS策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + [ + 'errorCode' => 'EcQoSWithPconnNotSupportDelete', + 'errorMessage' => 'The Qos policy associated with Pconn cannot be deleted. Please disassociate it first.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","type":"json"}]', + 'title' => '删除高速通道QoS策略', + 'description' => '关联了物理专线的QoS策略无法直接删除,需要先解除关联。', + ], + 'DeleteExpressConnectTrafficQosRule' => [ + 'summary' => '调用DeleteExpressConnectTrafficQosRule接口删除高速通道QoS规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'QueueId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + ], + [ + 'name' => 'RuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-rule-iugg0l9x27f2no****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', + 'title' => '删除高速通道QoS规则', + ], + 'ModifyExpressConnectTrafficQos' => [ + 'summary' => '调用ModifyExpressConnectTrafficQos接口修改高速通道QoS策略,也可通过本接口关联独享物理专线。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'QosName', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => 'QoS策略的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-test', + ], + ], + [ + 'name' => 'QosDescription', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => 'QoS策略的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-test', + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'AddInstanceList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '本次更新需要添加的实例列表,如果没有需要添加的实例可以不用传递此参数', + 'description' => '本次更新需要添加的实例列表,如果没有需要添加的实例可以不用传递此参数。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '需要关联的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp159zj8zujwy3p07****', + ], + 'InstanceType' => [ + 'description' => '需要关联实例的类型。取值:**PHYSICALCONNECTION**物理专线。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'PHYSICALCONNECTION', + 'enum' => [ + 'PHYSICALCONNECTION', + ], + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RemoveInstanceList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '本次更新需要移除的实例列表,如果没有需要移除的实例可以不用传递此参数', + 'description' => '本次更新需要移除的实例列表,如果没有需要移除的实例可以不用传递此参数。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '关联的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp1j37am632492qzw****', + ], + 'InstanceType' => [ + 'description' => '关联实例的类型。取值:**PHYSICALCONNECTION**物理专线。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'PHYSICALCONNECTION', + 'enum' => [ + 'PHYSICALCONNECTION', + ], + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.PconnIdList', + 'errorMessage' => 'The status of PconnIdList is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.PconnQos', + 'errorMessage' => 'The specified resource of PconnQos is already associated.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + [ + 'errorCode' => 'IncorrectBusinessStatus.PconnIdList', + 'errorMessage' => 'The business status of PconnIdList is incorrect.', + ], + [ + 'errorCode' => 'EcPconnWithVpconnNotAllowAssociateQoS', + 'errorMessage' => 'The specified Pconn with Vpconn is not allowed to associate with Qos.', + ], + [ + 'errorCode' => 'EcPconnWithCrossAccountVbrNotAllowAssociateQoS', + 'errorMessage' => 'The specified Pconn with cross account VBR is not allowed to associate with Qos.', + ], + [ + 'errorCode' => 'EcDeviceNotSupportQoS', + 'errorMessage' => 'The specified Pconn is on the device which is not supported QoS.', + ], + [ + 'errorCode' => 'EcPconnVbrMustContainsAll', + 'errorMessage' => 'In the single VBR with multiple Pconn scene, all Pconn must be associated with the same Qos.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\"\\n}","type":"json"}]', + 'title' => '修改高速通道QoS策略', + 'description' => '- 当前只支持关联处于正常状态,并且不欠费的独享物理专线,暂不支持共享物理专线端口和VBR实例。'."\n" + ."\n" + .'- 关联独享物理专线的时候,只能进行全量操作,如果需要全部取消关联,需要传入空字符串。'."\n" + ."\n" + .'- 如果独享物理专线拥有共享物理专线或者跨账号VBR,需要开通白名单才支持进行关联。'."\n" + ."\n" + .'- 独享物理专线所在的设备需要支持QoS特性才可以进行关联。'."\n" + ."\n" + .'- 单VBR关联多物理专线场景,需要一次性关联该VBR所有的物理专线。', + ], + 'ModifyExpressConnectTrafficQosQueue' => [ + 'summary' => '调用ModifyExpressConnectTrafficQosQueue接口修改高速通道QoS队列。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'QueueName', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos队列的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => 'QoS队列的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-test', + ], + ], + [ + 'name' => 'QueueDescription', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos队列的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => 'QoS队列的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-test', + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'QueueId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos队列ID。', + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + ], + [ + 'name' => 'BandwidthPercent', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS队列带宽百分比。'."\n" + .'* 当QoS队列类型为**Medium**的时候,此字段必须输入,取值范围为:1~100。'."\n" + .'* 当QoS队列类型为**Default**的时候,此字段为"-"。', + 'type' => 'string', + 'required' => false, + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '079874CD-AEC1-43E6-AC03-ADD96B6E4907', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + [ + 'errorCode' => 'QuotaExceeded.QosMediumPriorityQueueBandwidthPercent', + 'errorMessage' => 'The quota of QosMediumPriorityQueueBandwidthPercent is exceeded.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"079874CD-AEC1-43E6-AC03-ADD96B6E4907\\"\\n}","type":"json"}]', + 'title' => '修改高速通道QoS队列', + ], + 'ModifyExpressConnectTrafficQosRule' => [ + 'summary' => '调用ModifyExpressConnectTrafficQosRule接口修改高速通道QoS规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'QueueId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则优先级。取值范围:**1**~**9000**,数字越大优先级越高,在同一个QoS策略内QoS规则优先级不允许重复。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则协议类型,取值:'."\n" + ."\n" + .'- **ALL**'."\n" + ."\n" + .'- **ICMP(IPv4)**'."\n" + ."\n" + .'- **ICMPv6(IPv6)**'."\n" + ."\n" + .'- **TCP**'."\n" + ."\n" + .'- **UDP**'."\n" + ."\n" + .'- **GRE**'."\n" + ."\n" + .'- **SSH**'."\n" + ."\n" + .'- **Telnet**'."\n" + ."\n" + .'- **HTTP**'."\n" + ."\n" + .'- **HTTPS**'."\n" + ."\n" + .'- **MS SQL**'."\n" + ."\n" + .'- **Oracle**'."\n" + ."\n" + .'- **MySql**'."\n" + ."\n" + .'- **RDP**'."\n" + ."\n" + .'- **PostgreSQL**'."\n" + ."\n" + .'- **Redis**', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'ALL', + ], + ], + [ + 'name' => 'SrcCidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配源IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '1.1.**.**/24', + ], + ], + [ + 'name' => 'DstCidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配目的IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '1.1.**.**/24', + ], + ], + [ + 'name' => 'SrcIPv6Cidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配源IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:0db8:1234:****::/64', + ], + ], + [ + 'name' => 'DstIPv6Cidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配目的IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:0db8:1234:****::/64', + ], + ], + [ + 'name' => 'SrcPortRange', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配源端口号范围,取值范围:**0**~**65535**,当不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。', + 'type' => 'string', + 'required' => false, + 'example' => '-1/-1', + ], + ], + [ + 'name' => 'DstPortRange', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配目的端口号范围。取值范围:**0**~**65535**,如果不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。不同的协议类型,对应的目的端口号范围是固定的,取值如下:'."\n" + ."\n" + .'- **ALL**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMP(IPv4)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMPv6(IPv6)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **TCP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **UDP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **GRE**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **SSH**:22/22,不可编辑。'."\n" + ."\n" + .'- **Telnet**:23/23,不可编辑。'."\n" + ."\n" + .'- **HTTP**:80/80,不可编辑。'."\n" + ."\n" + .'- **HTTPS**:443/443,不可编辑。'."\n" + ."\n" + .'- **MS SQL**:1443/1443,不可编辑。'."\n" + ."\n" + .'- **Oracle**:1521/1521,不可编辑。'."\n" + ."\n" + .'- **MySql**:3306/3306,不可编辑。'."\n" + ."\n" + .'- **RDP**:3389/3389,不可编辑。'."\n" + ."\n" + .'- **PostgreSQL**:5432/5432,不可编辑。'."\n" + ."\n" + .'- **Redis**:6379/6379,不可编辑。', + 'type' => 'string', + 'required' => false, + 'example' => '-1/-1', + ], + ], + [ + 'name' => 'MatchDscp', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则匹配流量的DSCP值。取值范围:**0**~**63**,如果不匹配时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'RemarkingDscp', + 'in' => 'query', + 'schema' => [ + 'description' => '修改流量中的DSCP值。取值范围:**0**~**63**,如果不修改时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rule-test', + ], + ], + [ + 'name' => 'RuleDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rule-test', + ], + ], + [ + 'name' => 'RuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-rule-iugg0l9x27f2no****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7B48B4B9-1EAD-469F-B488-594DAB4B6A1A', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + [ + 'errorCode' => 'EcQosRuleNotAllowV4AndV6', + 'errorMessage' => 'QoS rules do not allow IPv4 and IPv6 addresses to be mixed and updated.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7B48B4B9-1EAD-469F-B488-594DAB4B6A1A\\"\\n}","type":"json"}]', + 'title' => '修改高速通道QoS规则', + ], + 'CreateExpressConnectTrafficQos' => [ + 'summary' => '调用CreateExpressConnectTrafficQos接口创建高速通道QoS策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'QosName', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => 'QoS策略的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-test', + ], + ], + [ + 'name' => 'QosDescription', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => 'QoS策略的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-test'."\n", + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazfdgdg****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入 1 个标签键,最多支持输入 20 个标签键。如需传入该值,不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入 20 个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', + ], + 'QosId' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'OperationUnsupported.Qos', + 'errorMessage' => 'QoS is unsupported.', + ], + [ + 'errorCode' => 'QuotaExceeded.Qos', + 'errorMessage' => 'The quota of QoS is exceeded.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\",\\n \\"QosId\\": \\"qos-2giu0a6vd5x0mv****\\"\\n}","type":"json"}]', + 'title' => '创建高速通道QoS策略', + 'description' => '- 当前高速通道QoS功能处于邀测状态,调用本接口需要先联系商务经理开通白名单'."\n" + ."\n" + .'- 每个用户能够创建的QoS策略数量有配额限制,如果需要扩充配额,请联系商务经理', + ], + 'CreateExpressConnectTrafficQosQueue' => [ + 'summary' => '调用CreateExpressConnectTrafficQosQueue接口创建高速通道QoS队列。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'QueueName', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的名称。'."\n" + .'长度为0~128个字符,不能以http:// 或https://开头。', + 'description' => 'QoS队列的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-test', + ], + ], + [ + 'name' => 'QueueDescription', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略的描述信息。'."\n" + .'长度为0~256个字符,不能以http://或https://开头。', + 'description' => 'QoS队列的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-queue-test'."\n", + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'QueueType', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS队列类型,取值:'."\n" + ."\n" + .'- **High**:高优先级队列。'."\n" + ."\n" + .'- **Medium**:普通优先级队列。'."\n" + ."\n" + .'- **Default**:默认优先级队列。'."\n" + ."\n" + .'> 默认优先级队列无法创建。', + 'type' => 'string', + 'required' => true, + 'example' => 'High', + ], + ], + [ + 'name' => 'BandwidthPercent', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS队列带宽百分比。'."\n" + ."\n" + .'* 当QoS队列类型为**Medium**的时候,此字段必须输入,取值范围为:1~100。'."\n" + .'* 当QoS队列类型为**Default**的时候,此字段为"-"。', + 'type' => 'string', + 'required' => false, + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7', + ], + 'QosId' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + 'QueueId' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-9nyx2u7n71s2rc****'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.QosMediumPriorityQueueCount', + 'errorMessage' => 'The quota of QosMediumPriorityQueueCount is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.QosHighPriorityQueueCount', + 'errorMessage' => 'The quota of QosHighPriorityQueueCount is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.QosMediumPriorityQueueBandwidthPercent', + 'errorMessage' => 'The quota of QosMediumPriorityQueueBandwidthPercent is exceeded.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7\\",\\n \\"QosId\\": \\"qos-2giu0a6vd5x0mv****\\",\\n \\"QueueId\\": \\"qos-queue-9nyx2u7n71s2rc****\\\\n\\"\\n}","type":"json"}]', + 'title' => '创建高速通道QoS队列', + 'description' => '- 默认队列不支持创建。'."\n" + ."\n" + .'- 高优先级队列数量有上限,如果需要提升配额,请联系商务经理。'."\n" + ."\n" + .'- 普通优先级队列数量有上限,如果需要提升配额,请联系商务经理。'."\n" + ."\n" + .'- 所有普通优先级队列的带宽百分比之和有上限。', + ], + 'CreateExpressConnectTrafficQosRule' => [ + 'summary' => '调用CreateExpressConnectTrafficQosRule接口创建高速通道QoS规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS策略所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'QosId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + ], + [ + 'name' => 'QueueId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Qos队列ID。', + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则优先级。取值范围:**1**~**9000**,数字越大优先级越高,在同一个QoS策略内QoS规则优先级不允许重复。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则协议类型,取值:'."\n" + ."\n" + .'- **ALL**'."\n" + ."\n" + .'- **ICMP(IPv4)**'."\n" + ."\n" + .'- **ICMPv6(IPv6)**'."\n" + ."\n" + .'- **TCP**'."\n" + ."\n" + .'- **UDP**'."\n" + ."\n" + .'- **GRE**'."\n" + ."\n" + .'- **SSH**'."\n" + ."\n" + .'- **Telnet**'."\n" + ."\n" + .'- **HTTP**'."\n" + ."\n" + .'- **HTTPS**'."\n" + ."\n" + .'- **MS SQL**'."\n" + ."\n" + .'- **Oracle**'."\n" + ."\n" + .'- **MySql**'."\n" + ."\n" + .'- **RDP**'."\n" + ."\n" + .'- **PostgreSQL**'."\n" + ."\n" + .'- **Redis**', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [], + 'example' => 'ALL', + ], + ], + [ + 'name' => 'SrcCidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配源IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '1.1.**.**/24'."\n", + ], + ], + [ + 'name' => 'DstCidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配目的IPv4网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcIPv6Cidr**或**DstIPv6Cidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '1.1.**.**/24'."\n", + ], + ], + [ + 'name' => 'SrcIPv6Cidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配源IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:0db8:1234:****::/64'."\n", + ], + ], + [ + 'name' => 'DstIPv6Cidr', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配目的IPv6网段。'."\n" + ."\n" + .'> 不支持输入本参数时,再输入参数**SrcCidr**或**DstCidr**。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:0db8:1234:****::/64', + ], + ], + [ + 'name' => 'SrcPortRange', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配源端口号范围,取值范围:**0**~**65535**,当不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。', + 'type' => 'string', + 'required' => false, + 'example' => '-1/-1'."\n", + ], + ], + [ + 'name' => 'DstPortRange', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则流量匹配目的端口号范围。取值范围:**0**~**65535**,如果不匹配时取值为-1。当前只支持指定单个端口号,端口号的起始和终止需要相同。不同的协议类型,对应的目的端口号范围是固定的,取值如下:'."\n" + ."\n" + .'- **ALL**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMP(IPv4)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **ICMPv6(IPv6)**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **TCP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **UDP**:-1/-1,可编辑。'."\n" + ."\n" + .'- **GRE**:-1/-1,不可编辑。'."\n" + ."\n" + .'- **SSH**:22/22,不可编辑。'."\n" + ."\n" + .'- **Telnet**:23/23,不可编辑。'."\n" + ."\n" + .'- **HTTP**:80/80,不可编辑。'."\n" + ."\n" + .'- **HTTPS**:443/443,不可编辑。'."\n" + ."\n" + .'- **MS SQL**:1443/1443,不可编辑。'."\n" + ."\n" + .'- **Oracle**:1521/1521,不可编辑。'."\n" + ."\n" + .'- **MySql**:3306/3306,不可编辑。'."\n" + ."\n" + .'- **RDP**:3389/3389,不可编辑。'."\n" + ."\n" + .'- **PostgreSQL**:5432/5432,不可编辑。'."\n" + ."\n" + .'- **Redis**:6379/6379,不可编辑。', + 'type' => 'string', + 'required' => false, + 'example' => '-1/-1'."\n", + ], + ], + [ + 'name' => 'MatchDscp', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则匹配流量的DSCP值。取值范围:**0**~**63**,如果不匹配时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'RemarkingDscp', + 'in' => 'query', + 'schema' => [ + 'description' => '修改流量中的DSCP值。取值范围:**0**~**63**,如果不修改时取值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则的名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rule-test'."\n", + ], + ], + [ + 'name' => 'RuleDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'QoS规则的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'qos-rule-test'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID。', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + 'QosId' => [ + 'title' => 'Qos策略ID。', + 'description' => 'QoS策略ID。', + 'type' => 'string', + 'example' => 'qos-2giu0a6vd5x0mv****', + ], + 'QueueId' => [ + 'description' => 'QoS队列ID。', + 'type' => 'string', + 'example' => 'qos-queue-9nyx2u7n71s2rc****', + ], + 'RuleId' => [ + 'description' => 'QoS规则ID。', + 'type' => 'string', + 'example' => 'qos-rule-iugg0l9x27f2no****'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.Qos', + 'errorMessage' => 'The status of QoS is incorrect.', + ], + [ + 'errorCode' => 'EcQoSConflict', + 'errorMessage' => 'The specified QoS is conflict with other QoS.', + ], + [ + 'errorCode' => 'EcQosRuleNotAllowV4AndV6', + 'errorMessage' => 'QoS rules do not allow IPv4 and IPv6 addresses to be mixed and updated.', + ], + [ + 'errorCode' => 'QuotaExceeded.QosRuleCount', + 'errorMessage' => 'The quota of QosRuleCount is exceeded.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\",\\n \\"QosId\\": \\"qos-2giu0a6vd5x0mv****\\",\\n \\"QueueId\\": \\"qos-queue-9nyx2u7n71s2rc****\\",\\n \\"RuleId\\": \\"qos-rule-iugg0l9x27f2no****\\\\n\\"\\n}","type":"json"}]', + 'title' => '创建高速通道QoS规则', + 'description' => '- QoS规则的优先级,需要在一个QoS策略中唯一。'."\n" + ."\n" + .'- 单个QoS队列的QoS规则数量有限制,如果想要提升配额,请联系商务经理。', + ], + 'CreateVbrHa' => [ + 'summary' => '调用CreateVbrHa接口创建VBR倒换组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR倒换组的描述信息。'."\n" + ."\n" + .'长度为 2~256个字符,必须以字母或中文开头,但不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'VBRHa', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR倒换组名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'VBRHa', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送检查请求,不会启动实例。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回`DRYRUN.SUCCESS`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接启动实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', + ], + ], + [ + 'name' => 'PeerVbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR倒换组中另一个VBR的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp12mw1f8k3jgygk9****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所属的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VbrHaId' => [ + 'description' => 'VBR倒换组实例ID。', + 'type' => 'string', + 'example' => 'vbrha-sa1sxheuxtd98****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.VbrCenNotConsistent', + 'errorMessage' => 'The VBR and the peer VBR are attached to different CENs.', + ], + [ + 'errorCode' => 'OperationFailed.VbrAliUidNotConsistent', + 'errorMessage' => 'The VBR and the peer VBR belong to different AliUids.', + ], + [ + 'errorCode' => 'OperationFailed.VbrAccessDeviceSame', + 'errorMessage' => 'The VBR and the peer VBR are in the same device.', + ], + [ + 'errorCode' => 'OperationFailed.VbrBandWidthExceed', + 'errorMessage' => 'The VBR bandwidth exceeds the limit.', + ], + [ + 'errorCode' => 'OperationFailed.VbrInUsedByOtherHa', + 'errorMessage' => 'The VBR is used by another VBR HA.', + ], + [ + 'errorCode' => 'OperationFailed.VbrBgpPeerNotEnableBfd', + 'errorMessage' => 'The VBR BGP has not enabled BFD.', + ], + [ + 'errorCode' => 'OperationFailed.VbrCenNotRelation', + 'errorMessage' => 'The VBR is not attached to any CEN.', + ], + [ + 'errorCode' => 'OperationFailed.BgpGroupLocalAsnMustSameEachOther', + 'errorMessage' => 'VBR bgpGroup local asn must same each other.', + ], + [ + 'errorCode' => 'IllegalParam.BgpGroupLocalAsn', + 'errorMessage' => 'Vbr bgp group local asn must same with ecr asn.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.Vbr', + 'errorMessage' => 'The VBR resource is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VbrHaId\\": \\"vbrha-sa1sxheuxtd98****\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\n vbrha-sa1sxheuxtd98****\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '创建VBR倒换组', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVbrHa' => [ + 'summary' => '调用DeleteVbrHa删除VBR倒换组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR倒换组实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbrha-sa1******', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所属的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.VbrHa', + 'errorMessage' => 'The VBR HA resource is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '删除VBR倒换组', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVbrHa' => [ + 'summary' => '调用DescribeVbrHa接口查询已创建的VBR倒换组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + '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' => 'CBCE910E-D396-4944-8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- **true**:发送检查请求,不会启动实例。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回`DRYRUN.SUCCESS`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接启动实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', + ], + ], + [ + 'name' => 'VbrHaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR倒换组实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'vbrha-sa1sxheuxtd98****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所属的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'VBR的创建时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'Status' => [ + 'description' => 'VBR倒换组的状态。'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Active**:正常。', + 'type' => 'string', + 'example' => 'Active', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'Description' => [ + 'description' => 'VBR倒换组的描述信息。'."\n" + ."\n" + .'长度为 2~256个字符,必须以字母或中文开头,但不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'example' => 'desc', + ], + 'VbrHaId' => [ + 'description' => 'VBR倒换组实例ID。', + 'type' => 'string', + 'example' => 'vbrha-sa1sxheuxtd98****', + ], + 'PeerVbrId' => [ + 'description' => 'VBR倒换组中另一个VBR的实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp12mw1f8k3jgygk9****', + ], + 'Name' => [ + 'description' => 'VBR倒换组名称。', + 'type' => 'string', + 'example' => 'VBRHa', + ], + 'VbrId' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', + ], + 'RegionId' => [ + 'description' => 'VBR所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.VbrHaIdOrVbrId', + 'errorMessage' => 'Missing parameter VBR switch group instance ID or VBR instance ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.VbrHa', + 'errorMessage' => 'The VBR HA resource is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CreationTime\\": \\"2021-06-08T12:20:55\\",\\n \\"Status\\": \\"Active\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"Description\\": \\"desc\\",\\n \\"VbrHaId\\": \\"vbrha-sa1sxheuxtd98****\\",\\n \\"PeerVbrId\\": \\"vbr-bp12mw1f8k3jgygk9****\\",\\n \\"Name\\": \\"VBRHa\\",\\n \\"VbrId\\": \\"vbr-bp1jcg5cmxjbl9xgc****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\n Active\\n vbrha-sa1sxheuxtd98****\\n desc\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n 2021-06-08T12:20:55\\n vbr-bp1jcg5cmxjbl9xgc****\\n cn-hangzhou\\n vbr-bp12mw1f8k3jgygk9****\\n VBRHa\\n","errorExample":""}]', + 'title' => '查询VBR倒换组', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociatePhysicalConnectionToVirtualBorderRouter' => [ + 'summary' => '调用AssociatePhysicalConnectionToVirtualBorderRouter接口将边界路由器VBR(Virtual Border Router)关联到物理专线。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp186tnz6rijyhj******', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-bp1qrb3044eqixog****', + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR的VLAN ID,取值范围:**0~2999**。 '."\n" + ."\n" + .'> 只有物理专线的所有者可以指定该参数,同一条物理专线下的两个VBR的VLAN ID不能相同。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '123', + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'description' => '运营商为物理专线提供的电路编码。 '."\n" + ."\n" + .'> 只有物理专线的所有者可以指定该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'longtel001', + ], + ], + [ + 'name' => 'LocalGatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧互联IP。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'PeerGatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的客户侧互联IP。'."\n" + ."\n" + .'- 该属性只允许VBR所有者指定或修改。'."\n" + ."\n" + .'- 为物理专线所有者创建VBR实例时必填。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'PeeringSubnetMask', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IP的子网掩码。'."\n" + ."\n" + .'两个IP地址必须位于同一个子网中。', + 'type' => 'string', + 'required' => false, + 'example' => '255.255.255.0', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'LocalIpv6GatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧互联IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + ], + [ + 'name' => 'PeerIpv6GatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的客户侧互联IPv6地址。'."\n" + ."\n" + .'- 该属性只允许VBR所有者指定或者修改。'."\n" + ."\n" + .'- 为物理专线所有者创建VBR实例时必填。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:XXXX:4:4:4:4:4:4', + ], + ], + [ + 'name' => 'PeeringIpv6SubnetMask', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IPv6的子网掩码。'."\n" + ."\n" + .'两个IPv6地址必须位于同一个子网中。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:4004:cc:400::/56', + ], + ], + [ + 'name' => 'EnableIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用IPv6。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.RouterInterfaceNotDeleted', + 'errorMessage' => 'The specified VirutalBorderRouter still has routerInterface.', + ], + [ + 'errorCode' => 'InvalidOperation.OperationNotAllowedInState', + 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllowed', + 'errorMessage' => 'Invalid virtual border router status.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified PhysicalConnectionId is not found.', + ], + [ + 'errorCode' => 'InvalidVlanId.Used', + 'errorMessage' => 'The specified VlanId has been used.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotEnabled', + 'errorMessage' => 'The specified PhysicalConnectionId is not in Enabled state.', + ], + [ + 'errorCode' => 'InvalidVlanId.Malformed', + 'errorMessage' => 'The specified VlanId is not valid.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'The specified CircuitCode is not valid.', + ], + [ + 'errorCode' => 'InvalidLocalGatewayIp.Malformed', + 'errorMessage' => 'The specified LocalGatewayIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPeerGatewayIp.Malformed', + 'errorMessage' => 'The specified PeerGatewayIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPeeringSubnetMask.Malformed', + 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified ?Name? is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid ?Description? is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.vbrPerpConn', + 'errorMessage' => 'Virtual boarder router per PhysicalConnection quota exceed.', + ], + [ + 'errorCode' => 'EXCEED_ASSOCIATE_MAX_NUM', + 'errorMessage' => 'assocaite virtual boarder num too many.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidIp.NotSameSubnet', + 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', + ], + [ + 'errorCode' => 'InvalidStatus.StatusNotEnabled', + 'errorMessage' => 'The physical connection status is invalid.', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'physical connection has already associated with vbr.', + ], + [ + 'errorCode' => 'PHYSICAL_NOT_ALLOW_ASSOCIATE_VBR', + 'errorMessage' => 'The specified operation not allow.', + ], + [ + 'errorCode' => 'Forbidden.OperationNotAllowed', + 'errorMessage' => 'The caller must be PhysicalConnection or VirtualBorderRouter\'s owner.', + ], + [ + 'errorCode' => 'Forbidden.NotSameAccessDevice', + 'errorMessage' => 'Vbr and physicalConnection are not on the same accessDevice.', + ], + [ + 'errorCode' => 'Duplicated.LocalGatewayIp', + 'errorMessage' => 'Vbr has conflict local gateway ip.', + ], + [ + 'errorCode' => 'OperationFailed.VlanIdInUse', + 'errorMessage' => 'Operation failed because vlanId is in use.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'DuplicatedParam.LocalGatewayIp', + 'errorMessage' => 'Duplicated LocalGatewayIp values.', + ], + [ + 'errorCode' => 'DuplicatedParam.PeerGatewayIp', + 'errorMessage' => 'Duplicated PeerGatewayIp values.', + ], + [ + 'errorCode' => 'DuplicatedParam.LocalIpv6GatewayIp', + 'errorMessage' => 'Duplicated LocalIpv6GatewayIp values.', + ], + [ + 'errorCode' => 'DuplicatedParam.PeerIpv6GatewayIp', + 'errorMessage' => 'Duplicated PeerIpv6GatewayIp values.', + ], + [ + 'errorCode' => 'EcPconnVbrMustContainsAll', + 'errorMessage' => 'In the single VBR with multiple Pconn scene, all Pconn must be associated with the same Qos.', + ], + [ + 'errorCode' => 'IllegalParam.LocalGatewayIpAndMask', + 'errorMessage' => 'The LocalGatewayIpAndMask value is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.PeeringIpv6SubnetMask', + 'errorMessage' => 'The PeeringIpv6SubnetMask value is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.OperationNotAllowedByUser', + 'errorMessage' => 'The caller is not allowed to delete the specified VirtualBorderRouter.', + ], + [ + 'errorCode' => 'Forbidden.MultiVlanRi', + 'errorMessage' => 'Multiple vlan router interfaces are found.', + ], + [ + 'errorCode' => 'Forbidden.NoRiFound', + 'errorMessage' => 'No vlan router interfaces are found.', + ], + [ + 'errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', + ], + [ + 'errorCode' => 'Forbidden.NameNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', + ], + [ + 'errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified Instance does not exist in the specified region.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrOwnerId.NotFound', + 'errorMessage' => 'The specified VbrOwnerId is not valid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 980960B0-2969-40BF-8542-EBB34FD358AB\\n","errorExample":""}]', + 'title' => '将VBR关联物理专线', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateVirtualBorderRouter' => [ + 'summary' => '调用CreateVirtualBorderRouter接口创建边界路由器VBR(Virtual Border Router)实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线实例ID。 '."\n" + ."\n" + .'可以为独享专线创建VBR实例,也可以为共享专线创建VBR实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-2zextbehcx****', + ], + ], + [ + 'name' => 'VbrOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所有者的账号ID。'."\n" + ."\n" + .'默认为登录的阿里云账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '168811111****', + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的VLAN ID,取值范围:**0~2999**。 '."\n" + ."\n" + .'> 只有物理专线的所有者可以指定该参数,同一条物理专线下的两个VBR的VLAN ID不能相同。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'description' => '运营商为物理专线提供的电路编码。 '."\n" + .' '."\n" + .'> 只有物理专线所有者可以指定该参数。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'longtel001', + ], + ], + [ + 'name' => 'LocalGatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧互联IP。 该属性只允许VBR所有者指定或者修改。'."\n" + ."\n" + .'为物理专线所有者创建VBR实例时必填。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'PeerGatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的客户侧互联IP。该属性只允许VBR所有者指定或者修改。'."\n" + ."\n" + .'为物理专线所有者创建VBR实例时必填。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '116.62.XX.XX', + ], + ], + [ + 'name' => 'PeeringSubnetMask', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IP的子网掩码。 '."\n" + ."\n" + .'两个IP地址必须位于同一个子网中。 ', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '255.255.255.252', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的描述信息。 '."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desc', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-),但不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'LocalIpv6GatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧互联IPv6地址。该属性只允许VBR所有者指定或者修改。'."\n" + ."\n" + .'为物理专线所有者创建VBR实例时必填。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + ], + [ + 'name' => 'PeerIpv6GatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的客户侧互联IPv6地址。该属性只允许VBR所有者指定或者修改。'."\n" + ."\n" + .'为物理专线所有者创建VBR实例时必填。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '2001:XXXX:4:4:4:4:4:4', + ], + ], + [ + 'name' => 'PeeringIpv6SubnetMask', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IPv6的子网掩码。 '."\n" + ."\n" + .'两个IPv6地址必须位于同一个子网中。 ', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '2408:4004:cc:400::/56', + ], + ], + [ + 'name' => 'EnableIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用IPv6功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的带宽值,单位:Mbps。'."\n" + ."\n" + .'- 当为独享专线创建VBR实例时,取值分别为**50**、**100**、**200**、**300**、**400**、**500**、**1000**、**2048**、**5120**、**8192**、**10240**、**20480**、**40960**、**50120**、**61440**和**102400**。'."\n" + .'- 当为共享专线创建VBR实例时,无需配置,VBR的带宽即为创建共享物理专线时设置的共享专线带宽。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。如需传入该值,不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'VbrId' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.PconnAllocateVlan0', + 'errorMessage' => 'Vlan 0 Vbr cannot share the physical connection with another Vbr.', + ], + [ + 'errorCode' => 'IllegalParam.IpAddress', + 'errorMessage' => 'The specified IpAddress (%s) is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The specified CidrBlock (%s) is illegal.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified PhysicalConnectionId is not found.', + ], + [ + 'errorCode' => 'InvalidVlanId.Used', + 'errorMessage' => 'The specified VlanId has been used.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotEnabled', + 'errorMessage' => 'The specified PhysicalConnectionId is not in Enabled state.', + ], + [ + 'errorCode' => 'InvalidVlanId.Malformed', + 'errorMessage' => 'The specified VlanId is not valid.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'The specified CircuitCode is not valid.', + ], + [ + 'errorCode' => 'InvalidLocalGatewayIp.Malformed', + 'errorMessage' => 'The specified LocalGatewayIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPeeringSubnetMask.Malformed', + 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified ?Name? is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid ?Description? is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.vbrPerpConn', + 'errorMessage' => 'Virtual boarder router per PhysicalConnection quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.freevbr', + 'errorMessage' => 'Free virtual boarder router quota exceed.', + ], + [ + 'errorCode' => 'InvalidIp.NotSameSubnet', + 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'QuotaExceeded.CrossUserVBRPerUser', + 'errorMessage' => 'Cross virtual boarder router per user quota exceed.', + ], + [ + 'errorCode' => 'OperationFailed.VlanIdInUse', + 'errorMessage' => 'Operation failed because vlanId is in use.', + ], + [ + 'errorCode' => 'QuotaExceeded.SameAccountVBRPerPconn', + 'errorMessage' => 'Same account virtual boarder router per physicalConnection quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.VbrPerPconnPortSpec', + 'errorMessage' => 'Quota exceed for current port spec', + ], + [ + 'errorCode' => 'QuotaExceeded.VbrPerAccessDevice', + 'errorMessage' => 'Virtual boarder router per access device quota exceed.', + ], + [ + 'errorCode' => 'OperationUnsupported.IPV6ForThisRegion', + 'errorMessage' => 'This Region do not support IPV6.', + ], + [ + 'errorCode' => 'VbrBandwidthExceed', + 'errorMessage' => 'VBR bandwidth exceed for this physical connection.', + ], + [ + 'errorCode' => 'OperationFailed.PconnExistVlan0Vbr', + 'errorMessage' => 'The physical connection has VLAN 0 VBR. You cannot create another VBR.', + ], + [ + 'errorCode' => 'OperationFailed.Vlan0VbrUnSharePconn', + 'errorMessage' => 'VLAN 0 VBR cannot share the physical connection with another VBR.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Bandwidth', + 'errorMessage' => 'The specified resource of Bandwidth is not enough.', + ], + [ + 'errorCode' => 'OperationUnsupported.VirtualBorderRouterEnableIPv6', + 'errorMessage' => 'The operation failed. The device or region does not support IPv6 functions.', + ], + [ + 'errorCode' => 'IllegalParam.OwnerAliUid', + 'errorMessage' => 'The param of VbrOwnerId is illegal.', + ], + [ + 'errorCode' => 'Forbidden.OwnerAliUid', + 'errorMessage' => 'RAM account or Partner account is forbidden to be OwnerAliUid.', + ], + [ + 'errorCode' => 'OperationDenied.VPconn', + 'errorMessage' => 'Vpconn is forbidden to create vbr for another account.', + ], + [ + 'errorCode' => 'OperationFailed.NotConsistentWithVpconn', + 'errorMessage' => 'VBR bandwidth is not consistent with vpconn', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of bandwidth is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.VirtualPhysicalConnectionExistVBR', + 'errorMessage' => 'The virtual physical connect has already created another VBR.', + ], + [ + 'errorCode' => 'ResourceNotInResourceGroup', + 'errorMessage' => 'The specified resource is not in the specified ResourceGroup.', + ], + [ + 'errorCode' => 'IncorrectStatus.VirtualPhysicalConnection', + 'errorMessage' => 'The status of PhysicalConnection [%s] is incorrect.', + ], + [ + 'errorCode' => 'EcAssociatedQoSPconnNotAllowCreateCrossAccountVbr', + 'errorMessage' => 'The specified Pconn associated with Qos is not allowed to create cross account VBR.Please contact the business manager.', + ], + [ + 'errorCode' => 'OperationFailed.VbrBandWidthMust0InVlan0Vbr', + 'errorMessage' => 'The operation is failed because of VbrBandWidthMust0InVlan0Vbr.', + ], + [ + 'errorCode' => 'OperationDenied.PhysicalConnectionNotSupportMPBGPAndMPBGP-v6', + 'errorMessage' => 'The operation is not allowed because this physical connection not support MPBGP and MPBGP-v6.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', + ], + [ + 'errorCode' => 'Forbidden.NameNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', + ], + [ + 'errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId is not found.', + ], + [ + 'errorCode' => 'InvalidVbrOwnerId.NotFound', + 'errorMessage' => 'The specified VbrOwnerId is not valid.', + ], + [ + 'errorCode' => 'CROSS_BID.FORBIDDEN', + 'errorMessage' => 'Create VBR across bid is illegal', + ], + [ + 'errorCode' => 'OperationFailed.AccessDeviceDisabled', + 'errorMessage' => 'Access device is disabled and can not create vbr.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VbrId\\": \\"vbr-bp1jcg5cmxjbl9xgc****\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vbr-bp1jcg5cmxjbl9xgc****\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '新建边界路由器(VBR)', + 'description' => '创建VBR实例后,VBR实例状态为**active**。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVirtualBorderRouter' => [ + 'summary' => '调用DeleteVirtualBorderRouter接口删除VBR实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例所属的地域ID。 您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp12mw1f8k3jgygk9****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。 ', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.RouterInterfaceNotDeleted', + 'errorMessage' => 'The specified VirutalBorderRouter still has routerInterface.', + ], + [ + 'errorCode' => 'InvalidOperation.OperationNotAllowedInState', + 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllowed', + 'errorMessage' => 'The virtual border has been associated by physicalConnection.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', + 'errorMessage' => 'The specified VirutalBorderRouter is refered by routeEntry.', + ], + [ + 'errorCode' => 'DependencyViolation.BgpGroup', + 'errorMessage' => 'bgp group exists, cannot delete vbr.', + ], + [ + 'errorCode' => 'DependencyViolation.Nqa', + 'errorMessage' => 'nqa exists, cannot delete vbr.', + ], + [ + 'errorCode' => 'DependencyViolation.BgpNetwork', + 'errorMessage' => 'bgp network exists, cannot delete vbr.', + ], + [ + 'errorCode' => 'OperationUnsupported.VBRAttachedCen', + 'errorMessage' => 'Operation failed because the VBR is attached to CEN.', + ], + [ + 'errorCode' => 'InvalidStatus.vbrAttatchToEcr', + 'errorMessage' => 'Invalid virtual border router ecr status.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.OperationDeleteNotAllowedByUser', + 'errorMessage' => 'The caller is not allowed to delete the specified VirtualBorderRouter.', + ], + [ + 'errorCode' => 'Forbidden.MultiVlanRi', + 'errorMessage' => 'Multiple vlan router interfaces are found.', + ], + [ + 'errorCode' => 'Forbidden.NoRiFound', + 'errorMessage' => 'No vlan router interfaces are found.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n"}]', + 'title' => '删除边界路由器(VBR)', + 'description' => '在调用DeleteVirtualBorderRouter接口删除VBR实例之前,请注意: '."\n" + .'- 删除VBR实例之前,必须删除VBR实例上所有的路由器接口。 '."\n" + .'- 只能删除**unconfirmed**、**active**或**terminated**状态的VBR实例。 '."\n" + .'- 其他账号的VBR实例只有处于**unconfirmed**状态时,才可以被物理专线的所有者删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassociatePhysicalConnectionFromVirtualBorderRouter' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => '要与物理专线解绑的VBR的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-bp16ksp61j7e0tkn*****', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp1qrb3044eqixog****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'PARAMETER_MUST_NOT_NULL', + 'errorMessage' => 'The specified physical connection id or vbrId must not be null.', + ], + [ + 'errorCode' => 'PHYSICAL_NOT_ASSOCIATE_TO_VBR', + 'errorMessage' => 'The specified PhysicalConnection have not associate to the vbr.', + ], + [ + 'errorCode' => 'ROUTER_INTERFACE_REFERED_BY_ROUTEENTRY', + 'errorMessage' => 'The specified VlanInterface has been used by routeEntry.', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllowed', + 'errorMessage' => 'Invalid virtual border router status.', + ], + [ + 'errorCode' => 'PHYSICAL_NOT_ALLOW_ASSOCIATE_VBR', + 'errorMessage' => 'The specified operation not allow.', + ], + [ + 'errorCode' => 'Forbidden.OperationNotAllowed', + 'errorMessage' => 'The caller must be PhysicalConnection or VirtualBorderRouter\'s owner.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 980960B0-2969-40BF-8542-EBB34FD358AB\\n","errorExample":""}]', + 'title' => '解绑VBR和物理专线', + 'summary' => '调用UnassociatePhysicalConnectionFromVirtualBorderRouter解绑VBR和物理专线。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateVirtualBorderBandwidth' => [ + 'summary' => '调用UpdateVirtualBorderBandwidth接口更新边界路由器上下云双方向的带宽限速。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'VirtualBorderRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp15zckdt37pq72****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '修改后的VBR限速带宽,单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '2', + ], + ], + [ + '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-0016****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '响应码。', + 'type' => 'string', + 'example' => '200', + ], + 'HttpStatusCode' => [ + 'description' => 'HTTP状态码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'Message' => [ + 'description' => '响应信息。', + 'type' => 'string', + 'example' => 'successful', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'AA4486A8-B6AE-469E-AB09-820EF8ECFA2B', + ], + 'Success' => [ + 'description' => '是否修改成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.Vpconn', + 'errorMessage' => 'The operation is failed because of Vpconn.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'Missing param of InstanceId.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'InstanceId not found.', + ], + [ + 'errorCode' => 'MissingParam.Bandwidth', + 'errorMessage' => 'Missing param of Bandwidth.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'Illegal Param of Bandwidth.', + ], + [ + 'errorCode' => 'MissingParam.regionNo', + 'errorMessage' => 'Missing param of regionNo.', + ], + [ + 'errorCode' => 'QuotaExceeded.VirtualBorderRouterBandwidth', + 'errorMessage' => 'Quota Exceeded of VirtualBorderRouterBandwidth', + ], + [ + 'errorCode' => 'OperationUnsupported.SetMultiPconnBandwidth', + 'errorMessage' => 'Set Multi PhysicalConnection Bandwidth Unsupported.', + ], + [ + 'errorCode' => 'OperationUnsupported.ModifyBandwidth', + 'errorMessage' => 'Modify Sale VirtualBorderRouter Bandwidth Unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"AA4486A8-B6AE-469E-AB09-820EF8ECFA2B\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n 200\\n 200\\n successful\\n AA4486A8-B6AE-469E-AB09-820EF8ECFA2B\\n true\\n","errorExample":""}]', + 'title' => '修改VBR上下云的带宽限速', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVirtualBorderRouterAttribute' => [ + 'summary' => '调用ModifyVirtualBorderRouterAttribute接口修改边界路由器VBR(Virtual Border Router)的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp1lhl0taikrte****', + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR的VLAN ID,取值范围:**0~2999**。 '."\n" + ."\n" + .'> 只有物理专线的所有者可以指定该参数,同一条物理专线下的两个VBR的VLAN ID不能相同。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'description' => '运营商为物理专线提供的电路编码。 '."\n" + .' '."\n" + .'> 只有物理专线的所有者可以指定该参数。'."\n" + .' '."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'longtel001', + ], + ], + [ + 'name' => 'LocalGatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧互联IP。'."\n" + ."\n" + .'该属性只允许VBR所有者指定或修改。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'PeerGatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的客户侧互联IP。'."\n" + ."\n" + .'该属性只允许VBR所有者指定或修改。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.X', + ], + ], + [ + 'name' => 'PeeringSubnetMask', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IP的子网掩码。该属性只允许VBR所有者指定或修改。'."\n" + ."\n" + .'两个IP地址必须位于同一个子网中。', + 'type' => 'string', + 'required' => false, + 'example' => '255.255.255.252', + ], + ], + [ + 'name' => 'MinTxInterval', + 'in' => 'query', + 'schema' => [ + 'description' => '配置BFD报文的发送间隔,取值:**200~1000**,单位:ms。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'MinRxInterval', + 'in' => 'query', + 'schema' => [ + 'description' => '配置BFD报文的接收间隔,取值:**200~1000**,单位:ms。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'DetectMultiplier', + 'in' => 'query', + 'schema' => [ + 'description' => '检测时间倍数,即接收方允许发送方发送报文的最大连接丢包数,用来检测链路是否正常。'."\n" + ."\n" + .'取值:**3~10**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http:// `或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desc', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-)。但不能以`http:// `或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'AssociatedPhysicalConnections', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR关联的物理专线的列表信息,包含以下参数:'."\n" + ."\n" + .'- **VlanId**:VBR实例的VLAN ID。'."\n" + .'- **CircuitCode**:运营商为物理专线提供的电路编码。'."\n" + .'- **LocalGatewayIp**:VBR实例的阿里云侧互联 IP。'."\n" + .'- **PeerGatewayIp**:VBR实例的客户侧互联 IP。'."\n" + .'- **PeeringSubnetMask**:VBR实例的阿里云侧和客户侧互联IP的子网掩码。'."\n" + .'- **LocalIpv6GatewayIp**:VBR实例的阿里云侧互联IPv6 地址。'."\n" + .'- **PeerIpv6GatewayIp**:VBR实例的客户侧互联IPv6 地址。'."\n" + .'- **PeeringIpv6SubnetMask**:VBR实例的阿里云侧和客户侧互联IPv6的子网掩码。'."\n" + .'- **ipv6Enable**:开启IPv6。'."\n" + .'- **PhysicalConnectionId**:物理专线实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => '['."\n" + .' {'."\n" + .' "VlanId": "5",'."\n" + .' "CircuitCode": "longtel001",'."\n" + .' "LocalGatewayIp": "192.168.XX.XX",'."\n" + .' "PeerGatewayIp": "192.168.XX.XX",'."\n" + .' "PeeringSubnetMask": "255.255.255.252",'."\n" + .' "LocalIpv6GatewayIp": "fd00:XXXX:1030:3f41::1",'."\n" + .' "PeerIpv6GatewayIp": "fd00:XXXX:1030:3f41::2",'."\n" + .' "PeeringIpv6SubnetMask": "fd00:0:1030:3f41::/126",'."\n" + .' "ipv6Enable": true,'."\n" + .' "PhysicalConnectionId": "pc-kojok19****"'."\n" + .' }'."\n" + .']', + ], + ], + [ + '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-00****', + ], + ], + [ + 'name' => 'LocalIpv6GatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧互联IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + ], + [ + 'name' => 'PeerIpv6GatewayIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的客户侧互联IPv6地址。'."\n" + ."\n" + .'- 该属性只允许VBR所有者指定或者修改。'."\n" + ."\n" + .'- 为物理专线所有者创建VBR实例时必填,为其他账号创建VBR实例时无需填写。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:2a2b', + ], + ], + [ + 'name' => 'PeeringIpv6SubnetMask', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IPv6的子网掩码。'."\n" + ."\n" + .'两个IPv6地址必须位于同一个子网中。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:4004:cc:400::/56', + ], + ], + [ + 'name' => 'EnableIpv6', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用IPv6。'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽值。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'SitelinkEnable', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许IDC间业务访问。'."\n" + ."\n" + .'- true:允许。'."\n" + ."\n" + .'- false(默认值):不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Mtu', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR支持的MTU值,取值范围:1500和8500。'."\n" + .'只有当VBR绑定到ECR上,才允许设置该值,该值还会影响同ECR内的其他所有VBR和VPC。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1500', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.AssociatedPhysicalConnections', + 'errorMessage' => 'The specified AssociatedPhysicalConnections is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.IpAddress', + 'errorMessage' => 'The specified IpAddress is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The specified CidrBlock is illegal.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter is not found.', + ], + [ + 'errorCode' => 'IllegalParam.MinTxInterval', + 'errorMessage' => 'The specified MinTxInterval is not in proper range.', + ], + [ + 'errorCode' => 'IllegalParam.MinRxInterval', + 'errorMessage' => 'The specified MinRxInterval is not in proper range.', + ], + [ + 'errorCode' => 'IllegalParam.DetectMultiplier', + 'errorMessage' => 'The specified DetectMultiplier is not in proper range.', + ], + [ + 'errorCode' => 'InvalidVlanId.Used', + 'errorMessage' => 'The specified VlanId has been used.', + ], + [ + 'errorCode' => 'Duplicated.LocalGatewayIp', + 'errorMessage' => 'The specified LocalGatewayIps are duplicated.', + ], + [ + 'errorCode' => 'Duplicated.PeerGatewayIp', + 'errorMessage' => 'The specified PeerGatewayIp are duplicated.', + ], + [ + 'errorCode' => 'IllegalParam.LocalGatewayIp', + 'errorMessage' => 'The specified LocalGatewayIp already exists.', + ], + [ + 'errorCode' => 'IllegalParam.PeerGatewayIp', + 'errorMessage' => 'The specified PeerGatewayIp already exists.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'The specified CircuitCode is not valid.', + ], + [ + 'errorCode' => 'InvalidVlanId.Malformed', + 'errorMessage' => 'The specified VlanId is not valid.', + ], + [ + 'errorCode' => 'InvalidIp.Malformed', + 'errorMessage' => 'The specified ip address is not valid.', + ], + [ + 'errorCode' => 'InvalidPeeringSubnetMask.Malformed', + 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid Description is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'LocalGatewayIp, peerGatewayIp and peeringSubnetMask must not be null.', + ], + [ + 'errorCode' => 'InvalidIp.NotSameSubnet', + 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.VlanIdInUse', + 'errorMessage' => 'Operation failed because vlanId is in use.', + ], + [ + 'errorCode' => 'IncorrectStatus.VirtualBorderRouter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.IPV6ForThisRegion', + 'errorMessage' => 'This Region do not support IPV6.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'OperationDenied.VBRAssociateVPconn', + 'errorMessage' => 'The operation is not allowed because of VBRAssociateVPconn.', + ], + [ + 'errorCode' => 'OperationFailed.PhysicalConnectionFinancialLocked', + 'errorMessage' => 'Update failed, the physical connection is financial locked.', + ], + [ + 'errorCode' => 'OperationFailed.PhysicalConnectionTerminated', + 'errorMessage' => 'Update failed, the physical connection is terminated.', + ], + [ + 'errorCode' => 'OperationFailed.VbrBandWidthMust0InVlan0Vbr', + 'errorMessage' => 'The operation is failed because of VbrBandWidthMust0InVlan0Vbr.', + ], + [ + 'errorCode' => 'MissingParam.DetectMultiplier', + 'errorMessage' => 'The parameter DetectMultiplier is mandatory.', + ], + [ + 'errorCode' => 'MissingParam.MinRxInterval', + 'errorMessage' => 'The parameter MinRxInterval is mandatory.', + ], + [ + 'errorCode' => 'MissingParam.MinTxInterval', + 'errorMessage' => 'The parameter MinTxInterval is mandatory.', + ], + [ + 'errorCode' => 'DuplicatedParam.LocalGatewayIp', + 'errorMessage' => 'The LocalGatewayIp values are duplicated.', + ], + [ + 'errorCode' => 'Forbidden.VbrNotAllowModifySiteLink', + 'errorMessage' => 'Can not modify virtualBorderRouter site link, please call PD to authorize.', + ], + [ + 'errorCode' => 'OperationUnsupported.VirtualBorderRouterEnableIPv6', + 'errorMessage' => 'The operation failed. The device or region does not support IPv6 functions.', + ], + [ + 'errorCode' => 'OperationFailed.PconnAllocateVlan0', + 'errorMessage' => 'Vlan 0 Vbr cannot share the physical connection with another Vbr.', + ], + [ + 'errorCode' => 'IllegalParam.VlanId', + 'errorMessage' => 'The parameter VlanId is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.VbrLocked', + 'errorMessage' => 'The VBR is locked.', + ], + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.NotInWhiteList', + 'errorMessage' => 'User does not have permission to turn on jumbo frames.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ecr', + 'errorMessage' => 'The express connect router is not in a steady state and cannot operate.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.NodeId', + 'errorMessage' => 'The express connect router subinstance is not in a steady state and cannot operate.', + ], + [ + 'errorCode' => 'UnsupportedFeature.JumboFrame', + 'errorMessage' => 'The jumbo frame feature is not supported in the current region.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.CircuitCodeNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to modify.', + ], + [ + 'errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', + ], + [ + 'errorCode' => 'Forbidden.VlanIdNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the VlanId.', + ], + [ + 'errorCode' => 'Forbidden.NameNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', + ], + [ + 'errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 980960B0-2969-40BF-8542-EBB34FD358AB\\n","errorExample":""}]', + 'title' => '修改边界路由器(VBR)的配置', + 'description' => '* **VlanId**只允许物理专线的所有者修改。'."\n" + ."\n" + .'* 同一物理专线下的同一VLAN ID不允许被两个VBR同时使用。'."\n" + ."\n" + .'* 进入**terminated**状态的VBR会在7天内自动保留其VLAN ID,不允许其他VBR使用。7天后可以被其他VBR使用。 '."\n" + ."\n" + .'* 其他账号的VBR实例,不能配置**LocalGatewayIp**、**PeerGatewayIp**和**PeeringSubnetMask**。'."\n" + ."\n" + .'* **PeeringSubnetMask**支持24~30位(255.255.255.0~255.255.255.252)。'."\n" + .'* **LocalGatewayIp**和**PeerGatewayIp**必须在同一个网段内。例如,LocalGatewayIp:192.168.XX.XX,PeerGatewayIp:192.168.XX.XX,PeeringSubnetMask:255.255.255.248。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'TerminateVirtualBorderRouter' => [ + 'summary' => '调用TerminateVirtualBorderRouter接口终止边界路由器(VBR)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-bp15zckdt37pq72****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.OperationNotAllowedInState', + 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.OperationTerminateNotAllowedByUser', + 'errorMessage' => 'The caller is not allowed to terminate the specified VirtualBorderRouter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '终止边界路由器(VBR)', + 'description' => '调用该接口后VBR从**active**状态进入**terminating**状态,终止成功后进入**terminated**状态。 '."\n" + ."\n" + .'> 只有物理专线的所有者可以调用该接口。', + ], + 'RecoverVirtualBorderRouter' => [ + 'summary' => '调用RecoverVirtualBorderRouter接口恢复被终止的VBR实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp1lhl0taikrte****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.OperationNotAllowedInState', + 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state', + ], + [ + 'errorCode' => 'OperationFailed.VlanIdAlreadyInUse', + 'errorMessage' => 'The specifed vlanId has been used.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.OperationRecoverNotAllowedByUser', + 'errorMessage' => 'The caller is not allowed to recover the specified VirtualBorderRouter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":"{ \\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}"},{"type":"xml","example":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n"}]', + 'title' => '恢复被终止的边界路由器(VBR)', + 'description' => '调用该接口后VBR从**terminated**状态变为**recovering**状态,恢复成功后进入**active**状态。'."\n" + ."\n" + .'在调用本接口恢复VBR之前,请注意: '."\n" + .' '."\n" + .'- 只有物理专线的所有者可以调用该接口。 '."\n" + ."\n" + .'- VBR所属的物理专线必须处于**Enabled**状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVirtualBorderRouters' => [ + 'summary' => '调用DescribeVirtualBorderRouters接口查询已创建的VBR实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤信息。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件,最多可提供5个过滤条件。支持如下过滤条件:'."\n" + ."\n" + .'* **PhysicalConnectionId**:物理专线实例ID。'."\n" + ."\n" + .'* **VbrId**:边界路由器实例ID。'."\n" + ."\n" + .'* **Status**:边界路由器状态。'."\n" + ."\n" + .'* **Name**:边界路由器名称。'."\n" + ."\n" + .'* **AccessPointId**:接入点ID。'."\n" + ."\n" + .'* **eccId**:高速上云服务实例ID。'."\n" + ."\n" + .'* **type**:物理专线类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'Status', + ], + 'Value' => [ + 'description' => '根据Key指定过滤值。一个Key支持指定多个过滤值,每个过滤值之间是或的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'array', + 'items' => [ + 'description' => '根据Key指定过滤值。一个Key支持指定多个过滤值,每个过滤值之间是或的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + 'required' => false, + 'example' => 'Active', + 'maxItems' => 5, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'IncludeCrossAccountVbr', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含跨账号的边界路由器。'."\n" + ."\n" + .'- **true**:包含。'."\n" + ."\n" + .'- **false**(默认值):不包含。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~94475~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'VBR信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VirtualBorderRouterSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VirtualBorderRouterType' => [ + 'description' => '查询到的VBR合集。 ', + 'type' => 'array', + 'items' => [ + 'description' => 'VBR的创建时间。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'VBR的创建时间。', + 'type' => 'string', + 'example' => '2020-06-08T12:20:55', + ], + 'Status' => [ + 'description' => 'VBR实例状态。'."\n" + .' '."\n" + .'- **unconfirmed**:等待他人确认。'."\n" + ."\n" + .'- **active**:正常。 '."\n" + ."\n" + .'- **terminating**:终止接入中。 '."\n" + ."\n" + .'- **terminated**:已终止接入。 '."\n" + ."\n" + .'- **recovering**:恢复中。 '."\n" + ."\n" + .'- **deleting**:删除中。 '."\n" + ."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'Type' => [ + 'description' => 'VBR类型。', + 'type' => 'string', + 'example' => 'pconnVBR', + ], + 'MinTxInterval' => [ + 'description' => '配置BFD报文的发送间隔,取值:**200~1000**,单位为ms。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '300', + ], + 'PeerIpv6GatewayIp' => [ + 'description' => 'VBR实例的客户侧互联IPv6地址。', + 'type' => 'string', + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + 'PConnVbrExpireTime' => [ + 'description' => '计费VBR的超期时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'PhysicalConnectionOwnerUid' => [ + 'description' => '物理专线所属的账号ID。', + 'type' => 'string', + 'example' => '1688000000000****', + ], + 'ActivationTime' => [ + 'description' => 'VBR第一次激活的时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'PhysicalConnectionBusinessStatus' => [ + 'description' => '物理专线业务状态。'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Description' => [ + 'description' => 'VBR的描述信息。', + 'type' => 'string', + 'example' => 'desc', + ], + 'TerminationTime' => [ + 'description' => 'VBR最近一次被终止的时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'MinRxInterval' => [ + 'description' => '配置BFD报文的接收间隔,取值:**200~1000**,单位为ms。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '300', + ], + 'PeerGatewayIp' => [ + 'description' => 'VBR实例的客户侧互联IPv4地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'Name' => [ + 'description' => 'VBR实例名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'VbrId' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', + ], + 'VlanId' => [ + 'description' => 'VBR实例的VLAN ID。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'VlanInterfaceId' => [ + 'description' => 'VBR的路由器接口的ID。', + 'type' => 'string', + 'example' => 'ri-2zeo3xzyf38r4xx****', + ], + 'CircuitCode' => [ + 'description' => '运营商为物理专线提供的电路编码。', + 'type' => 'string', + 'example' => 'longtel0****', + ], + 'LocalIpv6GatewayIp' => [ + 'description' => 'VBR实例的阿里云侧互联IPv6地址。', + 'type' => 'string', + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + 'LocalGatewayIp' => [ + 'description' => 'VBR实例的阿里云侧互联IPv4地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'PeeringSubnetMask' => [ + 'description' => 'VBR实例的阿里云侧互联IPv4和客户侧互联IPv4的子网掩码。', + 'type' => 'string', + 'example' => '255.255.255.252', + ], + 'EnableIpv6' => [ + 'description' => '是否启用IPv6。'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'RouteTableId' => [ + 'description' => 'VBR的路由表ID。', + 'type' => 'string', + 'example' => 'rtb-bp1****', + ], + 'DetectMultiplier' => [ + 'description' => '检测时间倍数。'."\n" + ."\n" + .'即接收方允许发送方发送报文的最大连接丢包数,用来检测链路是否正常。'."\n" + ."\n" + .'取值:**3~10**。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + ], + 'EccId' => [ + 'description' => '高速上云服务实例ID。', + 'type' => 'string', + 'example' => 'ecc-h****', + ], + 'CloudBoxInstanceId' => [ + 'description' => '云盒实例ID。', + 'type' => 'string', + 'example' => 'cb-****', + ], + 'RecoveryTime' => [ + 'description' => 'VBR最近一次从**terminated**状态恢复到**active**状态的时间。', + 'type' => 'string', + 'example' => '2021-05-08T12:20:55', + ], + 'PhysicalConnectionStatus' => [ + 'description' => '物理专线状态。'."\n" + ."\n" + .'- **Initial**:申请中。'."\n" + ."\n" + .'- **Approved**:审批通过。'."\n" + ."\n" + .'- **Allocating**:正在分配资源。'."\n" + ."\n" + .'- **Allocated**:接入施工中。'."\n" + ."\n" + .'- **Confirmed**:等待用户确认。'."\n" + ."\n" + .'- **Enabled**:已开通。'."\n" + ."\n" + .'- **Rejected**:申请被拒绝。'."\n" + ."\n" + .'- **Canceled**:已取消。'."\n" + ."\n" + .'- **Allocation Failed**:资源分配失败。'."\n" + ."\n" + .'- **Terminated**:已终止。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'PeeringIpv6SubnetMask' => [ + 'description' => 'VBR实例的阿里云侧互联IPv6与客户侧互联IPv6的子网掩码。', + 'type' => 'string', + 'example' => '2000:1234:0:a000::/55', + ], + 'AccessPointId' => [ + 'description' => '物理专线接入点的ID。', + 'type' => 'string', + 'example' => 'ap-cn-kojok1x****', + ], + 'PConnVbrChargeType' => [ + 'description' => '物理专线绑定的边界路由器付费类型。'."\n" + ."\n" + .'- **PrePaid**:预付费,包年包月。选择该类付费方式时,您必须确认自己的账号支持余额支付或信用支付。'."\n" + .'- **PostPaid**:按量付费。', + 'type' => 'string', + 'example' => 'PrePaid', + ], + 'PhysicalConnectionId' => [ + 'description' => 'VBR所属的物理专线的ID。', + 'type' => 'string', + 'example' => 'pc-119mfjzm7x****', + ], + 'AssociatedPhysicalConnections' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AssociatedPhysicalConnection' => [ + 'description' => '关联的物理专线信息。', + 'type' => 'array', + 'items' => [ + 'description' => '关联的物理专线信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'VBR实例状态。'."\n" + .' '."\n" + .'- **unconfirmed**:等待他人确认。'."\n" + ."\n" + .'- **active**:正常。 '."\n" + ."\n" + .'- **terminating**:终止接入中。 '."\n" + ."\n" + .'- **terminated**:已终止接入。 '."\n" + ."\n" + .'- **recovering**:恢复中。 '."\n" + ."\n" + .'- **deleting**:删除中。 ', + 'type' => 'string', + 'example' => 'active', + ], + 'VlanInterfaceId' => [ + 'description' => 'VBR的路由器接口ID,可以作为VBR路由的下一跳。', + 'type' => 'string', + 'example' => 'ri-kojok19x3j0q6k****', + ], + 'CircuitCode' => [ + 'description' => '运营商为物理专线提供的电路编码。', + 'type' => 'string', + 'example' => 'longtel0**', + ], + 'PeerIpv6GatewayIp' => [ + 'description' => 'VBR实例的客户侧互联IPv6地址。'."\n", + 'type' => 'string', + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + 'LocalIpv6GatewayIp' => [ + 'description' => 'VBR实例的阿里云侧互联IPv6地址。', + 'type' => 'string', + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + 'PhysicalConnectionOwnerUid' => [ + 'description' => '物理专线所有者的账号ID。', + 'type' => 'string', + 'example' => '12345678****', + ], + 'LocalGatewayIp' => [ + 'description' => 'VBR实例的阿里云侧互联IPv4地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'PhysicalConnectionBusinessStatus' => [ + 'description' => '物理专线业务状态。'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'PeeringSubnetMask' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IPv4的子网掩码。 '."\n" + ."\n" + .'两个IPv4地址必须位于同一个子网。 ', + 'type' => 'string', + 'example' => '255.255.255.252', + ], + 'EnableIpv6' => [ + 'description' => '是否启用IPv6。'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'PhysicalConnectionStatus' => [ + 'description' => '物理专线状态。'."\n" + ."\n" + .'- **Initial**:申请中。'."\n" + ."\n" + .'- **Approved**:审批通过。'."\n" + ."\n" + .'- **Allocating**:正在分配资源。'."\n" + ."\n" + .'- **Allocated**:接入施工中。'."\n" + ."\n" + .'- **Confirmed**:等待用户确认。'."\n" + ."\n" + .'- **Enabled**:已开通。'."\n" + ."\n" + .'- **Rejected**:申请被拒绝。'."\n" + ."\n" + .'- **Canceled**:已取消。'."\n" + ."\n" + .'- **Allocation Failed**:资源分配失败。'."\n" + ."\n" + .'- **Terminated**:已终止。', + 'type' => 'string', + 'example' => 'Enabled', + ], + 'PeerGatewayIp' => [ + 'description' => 'VBR实例的客户侧互联IPv4地址。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'PeeringIpv6SubnetMask' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IPv6的子网掩码。 '."\n" + ."\n" + .'两个IPv6地址必须位于同一个子网。 ', + 'type' => 'string', + 'example' => '2408:4004:cc:400::/56', + ], + 'PhysicalConnectionId' => [ + 'description' => '物理专线ID。', + 'type' => 'string', + 'example' => 'pc-119mfjzm7****', + ], + 'VlanId' => [ + 'description' => 'VBR实例的VLAN ID。', + 'type' => 'string', + 'example' => '0', + ], + ], + ], + ], + ], + ], + 'AssociatedCens' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AssociatedCen' => [ + 'description' => '关联的云企业网实例信息。', + 'type' => 'array', + 'items' => [ + 'description' => '实例信息。', + 'type' => 'object', + 'properties' => [ + 'CenOwnerId' => [ + 'description' => '云企业网实例所属账号的ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1688000000000****', + ], + 'CenId' => [ + 'description' => '云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-kojok19xxx****', + ], + 'CenStatus' => [ + 'description' => '云企业网状态。'."\n" + ."\n" + .'- **Attached**:已关联。'."\n" + ."\n" + .'- **Attaching**:关联中。'."\n" + ."\n" + .'- **Detached**:已取消关联。'."\n" + ."\n" + .'- **Detaching**:取消关联中。'."\n" + ."\n" + .'- 空:未关联。', + 'type' => 'string', + 'example' => 'Attached', + ], + ], + ], + ], + ], + ], + 'Bandwidth' => [ + 'description' => 'VBR实例的带宽值,单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tags' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'EcrId' => [ + 'description' => '关联的专线网关实例ID。', + 'type' => 'string', + 'example' => 'ecr-7vrbqv9lcgvzqbwwkm', + ], + 'SitelinkEnable' => [ + 'description' => '是否允许IDC间业务访问。取值:'."\n" + ."\n" + .'* **true**:是。'."\n" + .'* **false**:否。'."\n" + ."\n" + .'>如果不传入任何取值表示不允许IDC间业务访问。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'EcrAttatchStatus' => [ + 'description' => '专线网关关联状态。'."\n" + ."\n" + .'- **Attached**:已关联。'."\n" + ."\n" + .'- **Attaching**:关联中。'."\n" + ."\n" + .'- **Detached**:已取消关联。'."\n" + ."\n" + .'- **Detaching**:取消关联中。'."\n" + ."\n" + .'- **空**:未关联。', + 'type' => 'string', + 'example' => 'Attached', + ], + 'EcrOwnerId' => [ + 'description' => 'ECR实例所属阿里云账号(主账号)ID。', + 'type' => 'string', + 'example' => '192732132151xxxx', + ], + 'Mtu' => [ + 'description' => 'VBR支持的MTU值,取值范围:1500和8500。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1500', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"VirtualBorderRouterSet\\": {\\n \\"VirtualBorderRouterType\\": [\\n {\\n \\"CreationTime\\": \\"2020-06-08T12:20:55\\",\\n \\"Status\\": \\"active\\",\\n \\"Type\\": \\"pconnVBR\\",\\n \\"MinTxInterval\\": 300,\\n \\"PeerIpv6GatewayIp\\": \\"2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\",\\n \\"PConnVbrExpireTime\\": \\"2021-06-08T12:20:55\\",\\n \\"PhysicalConnectionOwnerUid\\": \\"1688000000000****\\",\\n \\"ActivationTime\\": \\"2021-06-08T12:20:55\\",\\n \\"PhysicalConnectionBusinessStatus\\": \\"Normal\\",\\n \\"Description\\": \\"desc\\",\\n \\"TerminationTime\\": \\"2021-06-08T12:20:55\\",\\n \\"MinRxInterval\\": 300,\\n \\"PeerGatewayIp\\": \\"192.168.XX.XX\\",\\n \\"Name\\": \\"test\\",\\n \\"VbrId\\": \\"vbr-bp1jcg5cmxjbl9xgc****\\",\\n \\"VlanId\\": 10,\\n \\"VlanInterfaceId\\": \\"ri-2zeo3xzyf38r4xx****\\",\\n \\"CircuitCode\\": \\"longtel0****\\",\\n \\"LocalIpv6GatewayIp\\": \\"2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\",\\n \\"LocalGatewayIp\\": \\"192.168.XX.XX\\",\\n \\"PeeringSubnetMask\\": \\"255.255.255.252\\",\\n \\"EnableIpv6\\": false,\\n \\"RouteTableId\\": \\"rtb-bp1****\\",\\n \\"DetectMultiplier\\": 3,\\n \\"EccId\\": \\"ecc-h****\\",\\n \\"CloudBoxInstanceId\\": \\"cb-****\\",\\n \\"RecoveryTime\\": \\"2021-05-08T12:20:55\\",\\n \\"PhysicalConnectionStatus\\": \\"Normal\\",\\n \\"PeeringIpv6SubnetMask\\": \\"2000:1234:0:a000::/55\\",\\n \\"AccessPointId\\": \\"ap-cn-kojok1x****\\",\\n \\"PConnVbrChargeType\\": \\"PrePaid\\",\\n \\"PhysicalConnectionId\\": \\"pc-119mfjzm7x****\\",\\n \\"AssociatedPhysicalConnections\\": {\\n \\"AssociatedPhysicalConnection\\": [\\n {\\n \\"Status\\": \\"active\\",\\n \\"VlanInterfaceId\\": \\"ri-kojok19x3j0q6k****\\",\\n \\"CircuitCode\\": \\"longtel0**\\",\\n \\"PeerIpv6GatewayIp\\": \\"2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\",\\n \\"LocalIpv6GatewayIp\\": \\"2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\",\\n \\"PhysicalConnectionOwnerUid\\": \\"12345678****\\",\\n \\"LocalGatewayIp\\": \\"192.168.XX.XX\\",\\n \\"PhysicalConnectionBusinessStatus\\": \\"Normal\\",\\n \\"PeeringSubnetMask\\": \\"255.255.255.252\\",\\n \\"EnableIpv6\\": true,\\n \\"PhysicalConnectionStatus\\": \\"Enabled\\",\\n \\"PeerGatewayIp\\": \\"116.62.XX.XX\\",\\n \\"PeeringIpv6SubnetMask\\": \\"2408:4004:cc:400::/56\\",\\n \\"PhysicalConnectionId\\": \\"pc-119mfjzm7****\\",\\n \\"VlanId\\": \\"0\\"\\n }\\n ]\\n },\\n \\"AssociatedCens\\": {\\n \\"AssociatedCen\\": [\\n {\\n \\"CenOwnerId\\": 0,\\n \\"CenId\\": \\"cen-kojok19xxx****\\",\\n \\"CenStatus\\": \\"Attached\\"\\n }\\n ]\\n },\\n \\"Bandwidth\\": 50,\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"EcrId\\": \\"ecr-7vrbqv9lcgvzqbwwkm\\",\\n \\"SitelinkEnable\\": false,\\n \\"EcrAttatchStatus\\": \\"Attached\\",\\n \\"EcrOwnerId\\": \\"192732132151xxxx\\",\\n \\"Mtu\\": 1500\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\n 1\\n 10\\n 1\\n \\n 2020-06-08T12:20:55\\n active\\n pconnVBR\\n 300\\n 2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\n 2021-06-08T12:20:55\\n 1688000000000****\\n 2021-06-08T12:20:55\\n Normal\\n desc\\n 2021-06-08T12:20:55\\n 300\\n 192.168.XX.XX\\n test\\n vbr-bp1jcg5cmxjbl9xgc****\\n 10\\n ri-2zeo3xzyf38r4xx****\\n longtel0****\\n 2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\n 192.168.XX.XX\\n 255.255.255.252\\n false\\n rtb-bp1****\\n 3\\n ecc-h****\\n cb-****\\n 2021-05-08T12:20:55\\n Normal\\n 2000:1234:0:a000::/55\\n ap-cn-kojok1x****\\n PrePaid\\n pc-119mfjzm7x****\\n \\n active\\n ri-kojok19x3j0q6k****\\n longtel0**\\n 2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\n 2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\n 12345678****\\n 192.168.XX.XX\\n Normal\\n 255.255.255.252\\n true\\n Enabled\\n 116.62.XX.XX\\n 2408:4004:cc:400::/56\\n pc-119mfjzm7****\\n 0\\n \\n \\n cen-kojok19xxx****\\n Attached\\n \\n 50\\n rg-acfmxazb4ph6aiy****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询已创建的边界路由器(VBR)', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => "\n", + ], + 'DescribeGrantRulesToEcr' => [ + 'summary' => '查询VBR的专线网关跨账号授权列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为1。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-xxxxxx', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所属的资源组的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazdjdhd****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'VBR的标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C1CCAB91-6AE6-50E3-AAA3-D0E5A2BC6ADE', + ], + 'EcrGrantRules' => [ + 'description' => '专线网关跨账号授权列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EcrUid' => [ + 'description' => '专线网关跨账号授权用户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '11111111111', + ], + 'CreateTime' => [ + 'description' => '授权时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-09-15T14:00:00Z', + ], + 'EcrInstanceId' => [ + 'description' => '专线网关跨账号授权实例ID。', + 'type' => 'string', + 'example' => 'ecr-xxxxxx', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'Count' => [ + 'description' => '查询的结果数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的行数,最大值为50,默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NotNull', + 'errorMessage' => 'The parameter must not be null.', + ], + [ + 'errorCode' => 'Parameter.Illegal', + 'errorMessage' => 'The parameter is illegal.', + ], + [ + 'errorCode' => 'Instance.StatusError', + 'errorMessage' => 'The status of instance error. ', + ], + ], + 404 => [ + [ + 'errorCode' => 'VRouterId.NotFound', + 'errorMessage' => 'The VRouter not found.', + ], + [ + 'errorCode' => 'Instance.NotExist', + 'errorMessage' => 'The instance not exist.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C1CCAB91-6AE6-50E3-AAA3-D0E5A2BC6ADE\\",\\n \\"EcrGrantRules\\": [\\n {\\n \\"EcrUid\\": 11111111111,\\n \\"CreateTime\\": \\"2025-09-15T14:00:00Z\\",\\n \\"EcrInstanceId\\": \\"ecr-xxxxxx\\"\\n }\\n ],\\n \\"TotalCount\\": 0,\\n \\"Count\\": 0,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + 'title' => '查询VBR的专线网关跨账号授权列表', + ], + 'DescribeVirtualBorderRoutersForPhysicalConnection' => [ + 'summary' => '查询指定物理专线下的边界路由器(VBR),包括物理专线所有者的VBR和其他账号的VBR。', + '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' => '物理专线所在的地域。 您可以通过调用[DescribeRegions](~~36063~~) 接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pc-119mfj****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => ' 列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => ' 分页查询时每页的行数,最大值为**50**。默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤条件列表。'."\n" + ."\n\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '过滤条件列表。'."\n" + ."\n\n" + ."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件,最多可提供5个过滤条件。支持如下过滤条件:'."\n" + ."\n" + .'* **PhysicalConnectionId**:物理专线实例ID。'."\n" + ."\n" + .'* **VbrId**:边界路由器实例ID。'."\n" + ."\n" + .'* **Status**:边界路由器状态。'."\n" + ."\n" + .'* **Name**:边界路由器名称。'."\n" + ."\n" + .'* **AccessPointId**:接入点ID。'."\n" + ."\n" + .'* **eccId**:高速上云服务实例ID。'."\n" + ."\n" + .'* **type**:边界路由器类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'Status', + ], + 'Value' => [ + 'description' => '根据Key指定过滤值。一个Key支持指定多个过滤值,每个过滤值之间是或的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'array', + 'items' => [ + 'description' => '根据Key指定过滤值。一个Key支持指定多个过滤值,每个过滤值之间是或的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + 'required' => false, + 'example' => 'Active', + 'maxItems' => 5, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7C5AE8B3-A2D8-428D-A2FF-93A225C0821E', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的行数,最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VirtualBorderRouterForPhysicalConnectionSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VirtualBorderRouterForPhysicalConnectionType' => [ + 'description' => '查询到的VBR实例信息合集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'VBR实例状态。取值:'."\n" + .' '."\n" + .'- **unconfirmed**:等待他人确认。'."\n" + ."\n" + .'- **active**:正常。 '."\n" + ."\n" + .'- **terminating**:终止接入中。 '."\n" + ."\n" + .'- **terminated**:已终止接入。 '."\n" + ."\n" + .'- **recovering**:恢复中。 '."\n" + ."\n" + .'- **deleting**:删除中。', + 'type' => 'string', + 'example' => 'Active', + ], + 'CreationTime' => [ + 'description' => '创建VBR的时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'Type' => [ + 'description' => 'VBR类型。', + 'type' => 'string', + 'example' => 'pconnVBR', + ], + 'PeerIpv6GatewayIp' => [ + 'description' => 'VBR实例的客户侧互联IPv6地址。'."\n" + ."\n\n" + .'为物理专线所有者创建VBR实例时必填,为其他账号创建VBR实例时无需填写。', + 'type' => 'string', + 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', + ], + 'CircuitCode' => [ + 'description' => '运营商为物理专线提供的电路编码。', + 'type' => 'string', + 'example' => 'longtel0**', + ], + 'LocalIpv6GatewayIp' => [ + 'description' => 'VBR实例的阿里云侧互联IPv6地址。', + 'type' => 'string', + 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', + ], + 'PConnVbrExpireTime' => [ + 'description' => '物理专线绑定的VBR到期时间。', + 'type' => 'string', + 'example' => '2021-06-10T12:20:55', + ], + 'LocalGatewayIp' => [ + 'description' => 'VBR实例的阿里云侧互联IPv4地址。', + 'type' => 'string', + 'example' => '192.168.XX.X', + ], + 'BandwidthStatus' => [ + 'description' => '带宽生效状态。取值:'."\n" + ."\n" + .'- **Active**:正常。'."\n" + ."\n" + .'- **Inactive**:异常。', + 'type' => 'string', + 'example' => 'Active', + ], + 'ActivationTime' => [ + 'description' => 'VBR第一次激活的时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'VbrOwnerUid' => [ + 'description' => 'VBR所有者的账号ID。'."\n" + ."\n" + .'VBR和物理专线的所有者相同时该参数为空。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '253460731706911258', + ], + 'PeeringSubnetMask' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IPv4的子网掩码。'."\n" + ."\n" + .'两个IPv4地址必须位于同一个子网。', + 'type' => 'string', + 'example' => '255.255.255.0', + ], + 'EnableIpv6' => [ + 'description' => '是否启用IPv6。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EccId' => [ + 'description' => '高速上云服务实例ID。', + 'type' => 'string', + 'example' => 'ecc-sjghe****', + ], + 'Bandwidth' => [ + 'description' => '物理专线下绑定的边界路由器带宽值,单位:Mbps。', + 'type' => 'string', + 'example' => '10', + ], + 'RecoveryTime' => [ + 'description' => 'VBR最近一次从Terminated状态恢复到Active状态的时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'TerminationTime' => [ + 'description' => 'VBR最近一次被终止的时间。', + 'type' => 'string', + 'example' => '2021-06-07T12:20:55', + ], + 'PConnVbrBussinessStatus' => [ + 'description' => '物理专线绑定的VBR运行状态。取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'PeerGatewayIp' => [ + 'description' => 'VBR实例的客户侧互联IPv4地址。', + 'type' => 'string', + 'example' => '162.62.XX.XX', + ], + 'PeeringIpv6SubnetMask' => [ + 'description' => 'VBR实例的阿里云侧和客户侧互联IPv6的子网掩码。 '."\n" + ."\n" + .'两个IPv6地址必须位于同一个子网。 ', + 'type' => 'string', + 'example' => '2408:4004:cc:400::/56', + ], + 'VbrId' => [ + 'description' => 'VBR实例ID。', + 'type' => 'string', + 'example' => 'vbr-bp16ksp61j7e0tk****', + ], + 'PConnVbrChargeType' => [ + 'description' => '物理专线绑定的边界路由器付费类型。取值:'."\n" + ."\n" + .'* **PrePaid**:预付费,包年包月。选择该类付费方式时,您必须确认自己的账号支持余额支付或信用支付。'."\n" + ."\n" + .'* **PostPaid**:按量付费。', + 'type' => 'string', + 'example' => 'PrePaid', + ], + 'VlanId' => [ + 'description' => 'VBR实例的VLAN ID。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1678', + ], + 'VbrName' => [ + 'description' => 'VBR 实例名称。', + 'type' => 'string', + 'example' => 'aliyun-to-bin-10G-A-QOS', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified physicalConnection is not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified PhysicalConnectionId does not belong to user.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7C5AE8B3-A2D8-428D-A2FF-93A225C0821E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"VirtualBorderRouterForPhysicalConnectionSet\\": {\\n \\"VirtualBorderRouterForPhysicalConnectionType\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"CreationTime\\": \\"2021-06-08T12:20:55\\",\\n \\"Type\\": \\"pconnVBR\\",\\n \\"PeerIpv6GatewayIp\\": \\"2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\",\\n \\"CircuitCode\\": \\"longtel0**\\",\\n \\"LocalIpv6GatewayIp\\": \\"ipv6bw-uf6hcyzu65v98v3du****\\",\\n \\"PConnVbrExpireTime\\": \\"2021-06-10T12:20:55\\",\\n \\"LocalGatewayIp\\": \\"192.168.XX.X\\",\\n \\"BandwidthStatus\\": \\"Active\\",\\n \\"ActivationTime\\": \\"2021-06-08T12:20:55\\",\\n \\"VbrOwnerUid\\": 253460731706911260,\\n \\"PeeringSubnetMask\\": \\"255.255.255.0\\",\\n \\"EnableIpv6\\": true,\\n \\"EccId\\": \\"ecc-sjghe****\\",\\n \\"Bandwidth\\": \\"10\\",\\n \\"RecoveryTime\\": \\"2021-06-08T12:20:55\\",\\n \\"TerminationTime\\": \\"2021-06-07T12:20:55\\",\\n \\"PConnVbrBussinessStatus\\": \\"Normal\\",\\n \\"PeerGatewayIp\\": \\"162.62.XX.XX\\",\\n \\"PeeringIpv6SubnetMask\\": \\"2408:4004:cc:400::/56\\",\\n \\"VbrId\\": \\"vbr-bp16ksp61j7e0tk****\\",\\n \\"PConnVbrChargeType\\": \\"PrePaid\\",\\n \\"VlanId\\": 1678,\\n \\"VbrName\\": \\"aliyun-to-bin-10G-A-QOS\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 7C5AE8B3-A2D8-428D-A2FF-93A225C0821E\\n 1\\n 10\\n 1\\n \\n Active\\n 2021-06-08T12:20:55\\n pconnVBR\\n 2001:XXXX:3c4d:0015:0000:0000:0000:1a2b\\n longtel0**\\n ipv6bw-uf6hcyzu65v98v3du****\\n 2021-06-10T12:20:55\\n 192.168.XX.X\\n Active\\n 2021-06-08T12:20:55\\n 253460731706911260\\n 255.255.255.0\\n true\\n ecc-sjghe****\\n 10\\n 2021-06-08T12:20:55\\n 2021-06-07T12:20:55\\n Normal\\n 162.62.XX.XX\\n 2408:4004:cc:400::/56\\n vbr-bp16ksp61j7e0tk****\\n PrePaid\\n 1678\\n \\n","errorExample":""}]', + 'title' => '查询边界路由器(VBR)', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AddBgpNetwork' => [ + 'summary' => '调用AddBgpNetwork宣告BGP网络。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR组所在的地域。'."\n" + ."\n" + .' 您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'DstCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和本地IDC互连的VPC或交换机的网段。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.10.XX.XX/32', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1qpo0kug3a2*****', + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口关联的路由器ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vrt-2zeo3xzyf38r4u******', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.Bgp', + 'errorMessage' => 'bgp peer count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.Nqa', + 'errorMessage' => 'nqa count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.BgpNetwork', + 'errorMessage' => 'bgp network count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidPeerIpAddress', + 'errorMessage' => 'multi pconn peer ip can not be null.', + ], + [ + 'errorCode' => 'InvalidVbrNetwork', + 'errorMessage' => 'vbr netowrk not exists', + ], + [ + 'errorCode' => 'InvalidBgpGroup', + 'errorMessage' => 'bgp group not exists', + ], + [ + 'errorCode' => 'InvalidBgpName.Malformed', + 'errorMessage' => 'Specified Bgp Group name is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpDiscription.Malformed', + 'errorMessage' => 'Specified Bgp Group description is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpAuthkey.Malformed', + 'errorMessage' => 'Specified Bgp Group authkey is not valid.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidPeerAsn.Malformed', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'parameter must not null.', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'bgp network already exists', + ], + [ + 'errorCode' => 'InvalidStatus.CannotOperate', + 'errorMessage' => 'invalid status cannot operate', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', + 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressInUse', + 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', + ], + [ + 'errorCode' => 'Duplicated.CidrBlock', + 'errorMessage' => 'bgp network cidr already exists.', + ], + [ + 'errorCode' => 'InvalidIP.IpInSnatPool', + 'errorMessage' => 'Multi ip in snat pool cannot remove ip from bandwidth package.', + ], + [ + 'errorCode' => 'InvalidDestCidrBlock.Malformed', + 'errorMessage' => 'Specified dstCidrBlock is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.ConflictWithDClass', + 'errorMessage' => 'DClass IP can not support.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'OperationFailed.NoActiveRouterInterface', + 'errorMessage' => 'there\'s not active routerInterface,cannot add bgp network.', + ], + [ + 'errorCode' => 'IllegalParamFormat.DstCidrBlock', + 'errorMessage' => 'The format of the specified destination CIDR block is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => 'The parameter of IpVersion is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.ipVersion', + 'errorMessage' => 'The IP version does not match.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB\\n","errorExample":""}]', + 'title' => '宣告BGP网络', + ], + 'CreateBgpGroup' => [ + 'summary' => '为指定的边界路由器(VBR)创建一个BGP组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-bp1ctxy813985gkuk****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以英文大小写字母或中文开头,可包含数字,半角句号(.),下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以英文大小写字母或中文开头,但不能以`http:// `或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'LocalAsn', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义阿里云侧BGP AS号。取值:'."\n" + ."\n" + .'- **45104**'."\n" + .'- **64512~65534**'."\n" + .'- **4200000000~4294967294**'."\n" + ."\n" + .'> 其中**65025**为阿里云保留值,阿里侧默认使用**45104**作为**LocalAsn**,使用自定义**LocalAsn**功能在多线接入场景时可能存在BGP路由环路风险,请合理评估后使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '45104', + ], + ], + [ + 'name' => 'PeerAsn', + 'in' => 'query', + 'schema' => [ + 'description' => '本地IDC侧设备的AS号。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'docRequired' => true, + 'example' => '1****', + ], + ], + [ + 'name' => 'AuthKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组的认证密钥。 ', + 'type' => 'string', + 'required' => false, + 'example' => '!PWZ2****', + ], + ], + [ + 'name' => 'IsFakeAsn', + 'in' => 'query', + 'schema' => [ + 'description' => '是否指定伪AS号。取值:'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .'- **true**:是。'."\n" + ."\n" + .'> 运行BGP的路由器一般只能属于一个AS。当需要用新的AS替代原有的AS(例如AS需要迁移或者和其他AS合并),并且因为业务等客观因素无法立即修改BGP配置时,可以通过指定伪AS号与本端建立连接,保证业务不中断。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + [ + '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' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP版本。取值:'."\n" + ."\n" + .'- **IPv4**(默认值):IPv4版本。'."\n" + .'- **IPv6**:IPv6版本,只有当创建BGP组的VBR开通IPv6功能时,支持IPv6版本。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'RouteQuota', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP邻居的路由条目上限。单位:条,默认值:**110**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '110', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建的BGP组ID。', + 'type' => 'object', + 'properties' => [ + 'BgpGroupId' => [ + 'description' => '创建的BGP组ID。', + 'type' => 'string', + 'example' => 'bgpg-bp1k25cyp26cllath****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.Bgp', + 'errorMessage' => 'bgp peer count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.Nqa', + 'errorMessage' => 'nqa count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.BgpNetwork', + 'errorMessage' => 'bgp network count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidPeerIpAddress', + 'errorMessage' => 'multi pconn peer ip can not be null.', + ], + [ + 'errorCode' => 'InvalidVbrNetwork', + 'errorMessage' => 'vbr netowrk not exists', + ], + [ + 'errorCode' => 'InvalidBgpGroup', + 'errorMessage' => 'bgp group not exists', + ], + [ + 'errorCode' => 'InvalidBgpName.Malformed', + 'errorMessage' => 'Specified Bgp Group name is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpDescription.Malformed', + 'errorMessage' => 'Specified Bgp Group description is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpAuthkey.Malformed', + 'errorMessage' => 'Specified Bgp Group authkey is not valid.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidPeerAsn.Malformed', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'params must not null.', + ], + [ + 'errorCode' => 'InvalidBgpGroup.LocalAsnInvalid', + 'errorMessage' => 'The specified BgpGroup LocalAsn is invalid, only support 64512 to 65534 or 4200000000 to 4294967294, but cannot be 65025.', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'bgp network already exists', + ], + [ + 'errorCode' => 'InvalidStatus.CannotOperate', + 'errorMessage' => 'invalid status cannot operate', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', + 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressInUse', + 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', + ], + [ + 'errorCode' => 'IllegalParam.PeerAsn', + 'errorMessage' => 'The param of PeerAsn is illegal', + ], + [ + 'errorCode' => 'IllegalParam.LocalAsn', + 'errorMessage' => 'The param of LocalAsn is illegal', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'OperationUnsupport', + 'errorMessage' => 'Operation is unsupport, not in vbr support custom local asn white list.', + ], + [ + 'errorCode' => 'IllegalParam.RouteLimit', + 'errorMessage' => 'The operation is failed because of bgp group max route entry num quota exceed.', + ], + [ + 'errorCode' => 'IllegalParam.BgpGroupLocalAsn', + 'errorMessage' => 'VBR BgpGroup localAsn must same with ECR asn.', + ], + [ + 'errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', + 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', + ], + [ + 'errorCode' => 'OperationFailed.BgpPeerConflictWithECR', + 'errorMessage' => 'The BGP neighbor created by the previous VBR conflicts with the ECR configuration.', + ], + [ + 'errorCode' => 'OperationFailed.PeerAsnCannotEqualsLocalAsn', + 'errorMessage' => 'Peer ASN is illegal, peer ASN cannot equals to local ASN.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"BgpGroupId\\": \\"bgpg-bp1k25cyp26cllath****\\",\\n \\"RequestId\\": \\"C1221A1F-2ACD-4592-8F27-474E02883159\\"\\n}","errorExample":""},{"type":"xml","example":"\\n bgpg-bp1k25cyp26cllath****\\n C1221A1F-2ACD-4592-8F27-474E02883159\\n","errorExample":""}]', + 'title' => '为指定的VBR创建一个BGP组', + 'description' => '您可以通过边界网关协议BGP(Border Gateway Protocol)实现VBR与本地IDC的互通。每个BGP组关联一个VBR,您仅需将与VBR通信的BGP邻居添加到对应的BGP组中,然后在VBR中宣告BGP网络即可。 '."\n" + ."\n" + .'BGP组用于简化BGP配置,通过将相同配置的BGP邻居合并到一个BGP组,减少配置的复杂度。您需要先根据申请的ASN创建一个BGP组。 '."\n" + ."\n" + .'调用本接口创建BGP组时,请注意: '."\n" + .'- VBR仅支持与物理专线对端的本地IDC建立BGP邻居。'."\n" + .'- VBR支持的BGP版本为BGP-4。'."\n" + .'- 每个VBR最多可以建立8个BGP邻居。'."\n" + .'- 每个BGP邻居的动态路由条数上限为110条。'."\n" + .'- 阿里云侧自治系统号ASN(Autonomous System Number)为45104,可接受用户侧传递2 Byte或4 Byte的ASN。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateBgpPeer' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'BgpGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => ' BGP组的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'bgpg-wz9f62v4fbg****', + ], + ], + [ + 'name' => 'PeerIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP邻居的IP地址。 ', + 'type' => 'string', + 'required' => false, + 'example' => '116.62.XX.XX', + ], + ], + [ + 'name' => 'EnableBfd', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启BFD功能,取值:'."\n" + ."\n" + .'- **true**:开启BFD功能。'."\n" + ."\n" + .'- **false**:不开启BFD功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP版本。取值:'."\n" + ."\n" + .'- **IPv4**(默认值):IPv4版本。'."\n" + .'- **IPv6**:IPv6版本,只有当创建BGP组的VBR开通IPv6功能时,支持IPv6版本。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'BfdMultiHop', + 'in' => 'query', + 'schema' => [ + 'description' => 'BFD跳数。取值范围:**1**~**255**。'."\n" + ."\n" + .'选择开启BFD功能时,需要配置此参数。'."\n" + .'输入BFD跳数,即数据从源端到目标端传输时经过的最大设备数量。您可以根据真实的物理链路因素配置不同的跳数。'."\n" + ."\n" + .'> 当您在多云环境或光纤直连组网中使用BFD,中间无任何桥接设备时,则需要将BFD的默认跳数从**255**改成**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'BgpPeerId' => [ + 'description' => 'BGP邻居的ID。', + 'type' => 'string', + 'example' => 'bgp-m5eoyp2mwegk8ce9v****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D4B7649A-61BB-4C64-A586-1DFF1EDA6A42', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.Bgp', + 'errorMessage' => 'bgp peer count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.Nqa', + 'errorMessage' => 'nqa count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidAccessDeviceId.NotFound', + 'errorMessage' => 'There is no Access_Device_Id in our records', + ], + [ + 'errorCode' => 'QuotaExceeded.BfdSession', + 'errorMessage' => 'Your Bfd Session number reaches the upper limit.', + ], + [ + 'errorCode' => 'QuotaExceeded.BgpNetwork', + 'errorMessage' => 'bgp network count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidPeerIpAddress', + 'errorMessage' => 'multi pconn peer ip can not be null.', + ], + [ + 'errorCode' => 'InvalidVbrNetwork', + 'errorMessage' => 'vbr netowrk not exists', + ], + [ + 'errorCode' => 'InvalidBgpGroup', + 'errorMessage' => 'bgp group not exists', + ], + [ + 'errorCode' => 'InvalidBgpName.Malformed', + 'errorMessage' => 'Specified Bgp Group name is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpDiscription.Malformed', + 'errorMessage' => 'Specified Bgp Group description is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpAuthkey.Malformed', + 'errorMessage' => 'Specified Bgp Group authkey is not valid.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidPeerAsn.Malformed', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'bgp network already exists', + ], + [ + 'errorCode' => 'InvalidStatus.CannotOperate', + 'errorMessage' => 'invalid status cannot operate', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', + 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressInUse', + 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', + ], + [ + 'errorCode' => 'BgpPeer.Already.Exists', + 'errorMessage' => 'bgp peer already exists.', + ], + [ + 'errorCode' => 'MissingParam.EnableBfd', + 'errorMessage' => 'The parameter EnableBfd is missing.', + ], + [ + 'errorCode' => 'OperationUnsupported.IPV6ForThisRegion', + 'errorMessage' => 'This Region is unsupported IPV6.', + ], + [ + 'errorCode' => 'IllegalParam.BfdMultiHop', + 'errorMessage' => 'BfdMultiHop is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Vpconn', + 'errorMessage' => 'The feature of Vpconn is not supported.', + ], + [ + 'errorCode' => 'DuplicatedParam.PeerIpAddress', + 'errorMessage' => 'The param of PeerIpAddress is duplicated.', + ], + [ + 'errorCode' => 'DuplicatedParam.LocalIpAddress', + 'errorMessage' => 'The LocalIpAddress already exists.', + ], + [ + 'errorCode' => 'DuplicatedParam.PeerIpv6Address', + 'errorMessage' => 'The PeerIpv6Address already exists.', + ], + [ + 'errorCode' => 'DuplicatedParam.LocalIpv6Address', + 'errorMessage' => 'The LocalIpv6Address already exists.', + ], + [ + 'errorCode' => 'IllegalParam.LocalGatewayIpAndMask', + 'errorMessage' => 'The LocalGatewayIpAndMask value is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.PeeringIpv6SubnetMask', + 'errorMessage' => 'The PeeringIpv6SubnetMask value is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.IpVersion', + 'errorMessage' => 'The param of IPV6 is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.PeerIpAddress', + 'errorMessage' => 'The param of PeerIpAddress is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"BgpPeerId\\": \\"bgp-m5eoyp2mwegk8ce9v****\\",\\n \\"RequestId\\": \\"D4B7649A-61BB-4C64-A586-1DFF1EDA6A42\\"\\n}","errorExample":""},{"type":"xml","example":"\\n bgp-m5eoyp2mwegk8ce9v****\\n D4B7649A-61BB-4C64-A586-1DFF1EDA6A42\\n","errorExample":""}]', + 'title' => '向指定的BGP组中添加BGP邻居', + 'summary' => '调用CreateBgpPeer接口向指定的BGP组中添加BGP邻居。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteBgpGroup' => [ + 'summary' => '使用DeleteBgpGroup删除指定的BGP组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BgpGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'bgpg-bp1k25cyp26cllath****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.Bgp', + 'errorMessage' => 'bgp peer count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.Nqa', + 'errorMessage' => 'nqa count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.BgpNetwork', + 'errorMessage' => 'bgp network count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidPeerIpAddress', + 'errorMessage' => 'multi pconn peer ip can not be null.', + ], + [ + 'errorCode' => 'InvalidVbrNetwork', + 'errorMessage' => 'vbr netowrk not exists', + ], + [ + 'errorCode' => 'InvalidBgpGroup', + 'errorMessage' => 'bgp group not exists', + ], + [ + 'errorCode' => 'InvalidBgpName.Malformed', + 'errorMessage' => 'Specified Bgp Group name is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpDiscription.Malformed', + 'errorMessage' => 'Specified Bgp Group description is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpAuthkey.Malformed', + 'errorMessage' => 'Specified Bgp Group authkey is not valid.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidPeerAsn.Malformed', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'bgp network already exists', + ], + [ + 'errorCode' => 'InvalidStatus.CannotOperate', + 'errorMessage' => 'invalid status cannot operate', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', + 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressInUse', + 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', + ], + [ + 'errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', + 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + [ + 'errorCode' => 'DependencyViolation.BgpPeer', + 'errorMessage' => 'Specified object has dependent resources bgp peer.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除指定的BGP组', + ], + 'DeleteBgpNetwork' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组所在的地域。 '."\n" + ."\n\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DstCidrBlock', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和IDC互联的VPC或交换机的网段。', + 'type' => 'string', + 'required' => true, + 'example' => '10.110.192.12/32', + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '边界路由器ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vrt-bp1lhl0taikrteen8****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.Bgp', + 'errorMessage' => 'bgp peer count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.Nqa', + 'errorMessage' => 'nqa count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.BgpNetwork', + 'errorMessage' => 'bgp network count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidPeerIpAddress', + 'errorMessage' => 'multi pconn peer ip can not be null.', + ], + [ + 'errorCode' => 'InvalidVbrNetwork', + 'errorMessage' => 'vbr netowrk not exists', + ], + [ + 'errorCode' => 'InvalidBgpGroup', + 'errorMessage' => 'bgp group not exists', + ], + [ + 'errorCode' => 'InvalidBgpName.Malformed', + 'errorMessage' => 'Specified Bgp Group name is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpDiscription.Malformed', + 'errorMessage' => 'Specified Bgp Group description is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpAuthkey.Malformed', + 'errorMessage' => 'Specified Bgp Group authkey is not valid.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidPeerAsn.Malformed', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'bgp network already exists', + ], + [ + 'errorCode' => 'InvalidStatus.CannotOperate', + 'errorMessage' => 'invalid status cannot operate', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', + 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressInUse', + 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除已宣告的BGP网络', + 'summary' => '使用DeleteBgpNetwork删除已宣告的BGP网络。', + ], + 'DeleteBgpPeer' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'BgpPeerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP邻居的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'bgp-wz977wcrmb69a********', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.Bgp', + 'errorMessage' => 'bgp peer count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.Nqa', + 'errorMessage' => 'nqa count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.BgpNetwork', + 'errorMessage' => 'bgp network count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidPeerIpAddress', + 'errorMessage' => 'multi pconn peer ip can not be null.', + ], + [ + 'errorCode' => 'InvalidVbrNetwork', + 'errorMessage' => 'vbr netowrk not exists', + ], + [ + 'errorCode' => 'InvalidBgpGroup', + 'errorMessage' => 'bgp group not exists', + ], + [ + 'errorCode' => 'InvalidBgpName.Malformed', + 'errorMessage' => 'Specified Bgp Group name is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpDiscription.Malformed', + 'errorMessage' => 'Specified Bgp Group description is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpAuthkey.Malformed', + 'errorMessage' => 'Specified Bgp Group authkey is not valid.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidPeerAsn.Malformed', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'bgp network already exists', + ], + [ + 'errorCode' => 'InvalidStatus.CannotOperate', + 'errorMessage' => 'invalid status cannot operate', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', + 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressInUse', + 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', + ], + [ + 'errorCode' => 'InvalidBgpPeer.NotFound', + 'errorMessage' => 'Bgp peer not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.BgpPeer', + 'errorMessage' => 'Invalid BgpPeer status cannot operate.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\n","errorExample":""}]', + 'title' => '删除指定的BGP邻居', + 'summary' => '调用DeleteBgpPeer删除指定的BGP邻居。', + ], + 'ModifyBgpGroupAttribute' => [ + 'summary' => '调用ModifyBgpGroupAttribute接口修改BGP组的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'BgpGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定BGP组的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'bgpg-wz9f62v4fbg2g****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组的名称。 '."\n" + ."\n" + .'长度为0~128个字符,不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组的描述信息。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'LocalAsn', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义阿里云侧BGP AS号。取值:'."\n" + ."\n" + .'- **45104**'."\n" + .'- **64512~65534**'."\n" + .'- **4200000000~4294967294**'."\n" + ."\n" + .'> 其中**65025**为阿里云保留值,阿里侧默认使用**45104**作为**LocalAsn**,使用自定义**LocalAsn**功能在多线接入场景时可能存在BGP路由环路风险,请合理评估后使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '45104', + ], + ], + [ + 'name' => 'PeerAsn', + 'in' => 'query', + 'schema' => [ + 'description' => '本地侧设备的AS号。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1****', + ], + ], + [ + 'name' => 'AuthKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组的认证密钥。', + 'type' => 'string', + 'required' => false, + 'example' => '!PWZ2****', + ], + ], + [ + 'name' => 'IsFakeAsn', + 'in' => 'query', + 'schema' => [ + 'description' => '是否指定伪AS号。取值;'."\n" + ."\n" + .'- **false**(默认值):否。'."\n" + .'- **true**:是。'."\n" + ."\n" + .'> 运行BGP的路由器一般只能属于一个AS。当需要用新的AS替代原有的AS(例如AS需要迁移或者和其他AS合并),并且因为业务等客观因素无法立即修改BGP配置时,可以通过指定伪AS号与本端建立连接,保证业务不中断。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'true', + ], + ], + [ + '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' => 'RouteQuota', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP邻居的路由条目上限。单位:条,默认值:**110**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '110', + ], + ], + [ + 'name' => 'ClearAuthKey', + 'in' => 'query', + 'schema' => [ + 'description' => '是否需要清空密钥。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8C3C6D7C-A1CE-4FD8-BC57-DC493A55F76F', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaExceeded.Bgp', + 'errorMessage' => 'bgp peer count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.Nqa', + 'errorMessage' => 'nqa count per vbr quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.BgpNetwork', + 'errorMessage' => 'bgp network count per vbr quota exceed.', + ], + [ + 'errorCode' => 'InvalidPeerIpAddress', + 'errorMessage' => 'multi pconn peer ip can not be null.', + ], + [ + 'errorCode' => 'InvalidVbrNetwork', + 'errorMessage' => 'vbr netowrk not exists', + ], + [ + 'errorCode' => 'InvalidBgpGroup', + 'errorMessage' => 'bgp group not exists', + ], + [ + 'errorCode' => 'InvalidBgpName.Malformed', + 'errorMessage' => 'Specified Bgp Group name is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpDiscription.Malformed', + 'errorMessage' => 'Specified Bgp Group description is not valid.', + ], + [ + 'errorCode' => 'InvalidBgpAuthkey.Malformed', + 'errorMessage' => 'Specified Bgp Group authkey is not valid.', + ], + [ + 'errorCode' => 'InvalidIP.Malformed', + 'errorMessage' => 'Ip malformed.', + ], + [ + 'errorCode' => 'InvalidPeerAsn.Malformed', + 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidBgpGroup.LocalAsnInvalid', + 'errorMessage' => 'The specified BgpGroup LocalAsn is invalid, only support 64512 to 65534 or 4200000000 to 4294967294, and cannot be 65025.', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'InvalidParams.AlreadyExists', + 'errorMessage' => 'bgp network already exists', + ], + [ + 'errorCode' => 'InvalidStatus.CannotOperate', + 'errorMessage' => 'invalid status cannot operate', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', + 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', + ], + [ + 'errorCode' => 'InvalidParams.PeerIpAddressInUse', + 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', + ], + [ + 'errorCode' => 'IllegalParam.PeerAsn', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.LocalAsn', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'OperationUnsupport', + 'errorMessage' => 'Operation is unsupport, not in vbr support custom local asn white list.', + ], + [ + 'errorCode' => 'OperationFailed.ClearAuthKeyForbidden', + 'errorMessage' => 'The specific auth key is not empty.', + ], + [ + 'errorCode' => 'IllegalParam.RouteLimit', + 'errorMessage' => 'The operation is failed because of bgp group max route entry num quota exceed.', + ], + [ + 'errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', + 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', + ], + [ + 'errorCode' => 'OperationUnsupported.VBRAttachedECR', + 'errorMessage' => 'VBR already attached to ECR, please delete it from ECR.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C3C6D7C-A1CE-4FD8-BC57-DC493A55F76F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8C3C6D7C-A1CE-4FD8-BC57-DC493A55F76F\\n","errorExample":""}]', + 'title' => '修改BGP组的配置', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyBgpPeerAttribute' => [ + 'summary' => '调用ModifyBgpPeerAttribute接口修改BGP邻居的属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改属性的BGP邻居所在BGP组的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'BgpPeerId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改属性的BGP邻居的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'bgp-m5eoyp2mwegk8ce9v****', + ], + ], + [ + 'name' => 'BgpGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改属性的BGP邻居所在BGP组的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'bgpg-m5eo12jxuw2hc0uqq****', + ], + ], + [ + 'name' => 'PeerIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的BGP邻居的IP地址。 ', + 'type' => 'string', + 'required' => false, + 'example' => '116.62.XX.XX', + ], + ], + [ + 'name' => 'EnableBfd', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启BFD功能,取值:'."\n" + ."\n" + .'- **true**:开启BFD功能。'."\n" + ."\n" + .'- **false**(默认值):不开启BFD功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'BfdMultiHop', + 'in' => 'query', + 'schema' => [ + 'description' => 'BFD跳数。取值范围:**1**~**255**。'."\n" + ."\n" + .'选择开启BFD功能时,需要配置此参数。'."\n" + .'输入BFD跳数,即数据从源端到目标端传输时经过的最大设备数量。您可以根据真实的物理链路因素配置不同的跳数。'."\n" + ."\n" + .'> 当您在多云环境或光纤直连组网中使用BFD,中间无任何桥接设备时,则需要将BFD的默认跳数从**255**改成**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D4B7649A-61BB-4C64-A586-1DFF1EDA6A42', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.IpAddress', + 'errorMessage' => 'The specified IpAddress is illegal.', + ], + [ + 'errorCode' => 'InvalidAccessDeviceId.NotFound', + 'errorMessage' => 'There is no Access_Device_Id in our records', + ], + [ + 'errorCode' => 'QuotaExceeded.BfdSession', + 'errorMessage' => 'Your Bfd Session number reaches the upper limit.', + ], + [ + 'errorCode' => 'MissingParam.BgpPeerId', + 'errorMessage' => 'The parameter BgpPeerId is mandatory.', + ], + [ + 'errorCode' => 'InvalidBgpPeer.NotFound', + 'errorMessage' => 'The specified BgpPeerId does not exit in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'IncorrectStatus.BgpPeer', + 'errorMessage' => 'Invalid BgpPeer status cannot operate.', + ], + [ + 'errorCode' => 'MissingParam.EnableBfd', + 'errorMessage' => 'The parameter EnableBfd is missing.', + ], + [ + 'errorCode' => 'IllegalParam.BfdMultiHop', + 'errorMessage' => 'BfdMultiHop is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'DuplicatedParam.PeerIpAddress', + 'errorMessage' => 'The param of PeerIpAddress is duplicated.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidBgpPeerId.NotFound', + 'errorMessage' => 'The specified BgpPeerId does not exit in our records.', + ], + [ + 'errorCode' => 'IncorretStatus.BgpPeer', + 'errorMessage' => 'The specified BgpPeer status is not stable, can not operate.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Internal.Error', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D4B7649A-61BB-4C64-A586-1DFF1EDA6A42\\"\\n}","errorExample":""},{"type":"xml","example":"\\n D4B7649A-61BB-4C64-A586-1DFF1EDA6A42\\n","errorExample":""}]', + 'title' => '修改BGP邻居的属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeBgpGroups' => [ + 'summary' => '查询指定地域下的BGP组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组关联的VBR的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-bp1ctxy813985gkuk****', + ], + ], + [ + 'name' => 'BgpGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'bgpg-bp1k25cyp26cllath****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'IsDefault', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为默认BGP组。取值:'."\n" + ."\n" + .'- **false**:不是默认BGP组。'."\n" + .'- **true**:是默认BGP组。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1D0971B2-A35A-42C1-A44C-E91360C36C0B', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'BgpGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BgpGroup' => [ + 'description' => 'BGP组的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'BGP组的状态。', + 'type' => 'string', + 'example' => 'Available', + ], + 'BgpGroupId' => [ + 'description' => 'BGP组的ID。', + 'type' => 'string', + 'example' => 'bgpg-bp1k25cyp26cllath****', + ], + 'RouterId' => [ + 'description' => 'VBR的ID。', + 'type' => 'string', + 'example' => 'vbr-bp1ctxy813985gkuk****', + ], + 'PeerAsn' => [ + 'description' => '本地IDC侧设备的AS号。', + 'type' => 'string', + 'example' => '1****', + ], + 'LocalAsn' => [ + 'description' => '阿里云侧AS号。', + 'type' => 'string', + 'example' => '45104', + ], + 'RegionId' => [ + 'description' => 'BGP组所在地域ID。', + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'Hold' => [ + 'description' => '等待BGP消息传入的保持时间,单位为秒。'."\n" + ."\n" + .'> 如果超过保持时间还没有消息传入,则认为BGP邻居断开了连接。', + 'type' => 'string', + 'example' => '30', + ], + 'IpVersion' => [ + 'description' => 'BGP组的IP版本。取值:'."\n" + ."\n" + .'- **IPv4**:IPv4版本。'."\n" + .'- **IPv6**:IPv6版本,只有当创建BGP组的VBR开通IPv6功能时,支持IPv6版本。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'Description' => [ + 'description' => 'BGP组的描述信息。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'BGP组描述。', + ], + 'Keepalive' => [ + 'description' => '保活时间,单位为秒。', + 'type' => 'string', + 'example' => '10', + ], + 'IsFake' => [ + 'description' => 'AS号是否为假。取值:'."\n" + ."\n" + .'- **false**:否。'."\n" + .'- **true**:是。', + 'type' => 'string', + 'example' => 'true', + ], + 'RouteLimit' => [ + 'description' => 'BGP动态路由学习的路由条目上限。', + 'type' => 'string', + 'example' => '99', + ], + 'Name' => [ + 'description' => 'BGP组的名称。', + 'type' => 'string', + 'example' => 'name', + ], + 'AuthKey' => [ + 'description' => 'BGP组使用的密钥。', + 'type' => 'string', + 'example' => '!PWZ****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"1D0971B2-A35A-42C1-A44C-E91360C36C0B\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"BgpGroups\\": {\\n \\"BgpGroup\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"BgpGroupId\\": \\"bgpg-bp1k25cyp26cllath****\\",\\n \\"RouterId\\": \\"vbr-bp1ctxy813985gkuk****\\",\\n \\"PeerAsn\\": \\"1****\\",\\n \\"LocalAsn\\": \\"45104\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"Hold\\": \\"30\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"Description\\": \\"BGP组描述。\\",\\n \\"Keepalive\\": \\"10\\",\\n \\"IsFake\\": \\"true\\",\\n \\"RouteLimit\\": \\"99\\",\\n \\"Name\\": \\"name\\",\\n \\"AuthKey\\": \\"!PWZ****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 1D0971B2-A35A-42C1-A44C-E91360C36C0B\\n 1\\n 1\\n \\n Available\\n bgpg-bp1k25cyp26cllath****\\n vbr-bp1ctxy813985gkuk****\\n 1****\\n 45104\\n cn-shanghai\\n 30\\n ipv4\\n BGP组描述。\\n 10\\n true\\n 99\\n name\\n !PWZ****\\n \\n","errorExample":""}]', + 'title' => '查询指定地域下的BGP组', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeBgpNetworks' => [ + 'summary' => '调用DescribeBgpNetworks查询已宣告的BGP网络。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '边界路由器ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-bp1ctxy813985gkuk****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'BGP组所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + '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' => '6F513A15-669F-419D-B511-08A85292059B', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '已宣告的BGP网络总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'BgpNetworks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BgpNetwork' => [ + 'description' => 'BGP网络。', + 'type' => 'array', + 'items' => [ + 'description' => 'BGP网络。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '已宣告的BGP网络状态。', + 'type' => 'string', + 'example' => 'Enabled', + ], + 'VpcId' => [ + 'description' => 'VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp1qpo0kug3a2*****', + ], + 'DstCidrBlock' => [ + 'description' => '已宣告的BGP网络的网段。', + 'type' => 'string', + 'example' => '10.1.XX.XX/24', + ], + 'RouterId' => [ + 'description' => '边界路由器ID。', + 'type' => 'string', + 'example' => 'vbr-bp1ctxy813985gkuk****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"6F513A15-669F-419D-B511-08A85292059B\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"BgpNetworks\\": {\\n \\"BgpNetwork\\": [\\n {\\n \\"Status\\": \\"Enabled\\",\\n \\"VpcId\\": \\"vpc-bp1qpo0kug3a2*****\\",\\n \\"DstCidrBlock\\": \\"10.1.XX.XX/24\\",\\n \\"RouterId\\": \\"vbr-bp1ctxy813985gkuk****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 6F513A15-669F-419D-B511-08A85292059B\\n 1\\n 2\\n \\n Enabled\\n vpc-bp1qpo0kug3a2*****\\n 10.1.XX.XX/24\\n vrt-bp1lhl0taikrteen8****\\n \\n","errorExample":""}]', + 'title' => '查询已宣告的BGP网络', + ], + 'DescribeBgpPeers' => [ + 'summary' => '调用DescribeBgpPeers接口查询指定地域下的BGP邻居。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的BGP邻居关联的VBR ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-2zecmmvg5gvu8i4te****', + ], + ], + [ + 'name' => 'BgpPeerId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的BGP邻居的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'bgp-2ze3un0ft1jd1xd****', + ], + ], + [ + 'name' => 'BgpGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的BGP邻居所在BGP组的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'bgpg-2zev8h2wo414sfh****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的BGP邻居所在BGP组的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'IsDefault', + 'in' => 'query', + 'schema' => [ + 'description' => '是否是默认BGP组。取值:'."\n" + ."\n\n" + .'- **true**:是默认BGP组。'."\n" + ."\n" + .'- **false**:不是默认BGP组。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'BGP邻居详细信息。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'BgpPeers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BgpPeer' => [ + 'description' => '查询的BGP邻居的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '查询的BGP邻居的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'BGP邻居的状态。取值:'."\n" + ."\n" + .'- **Pending**:待定。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'- **Deleting**:删除中。'."\n" + ."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'example' => 'Available', + ], + 'PeerIpAddress' => [ + 'description' => 'BGP邻居的IP地址。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'RouterId' => [ + 'description' => '路由器的ID。', + 'type' => 'string', + 'example' => 'vbr-2zecmmvg5gvu8i4te****', + ], + 'BgpGroupId' => [ + 'description' => 'BGP组的ID。', + 'type' => 'string', + 'example' => 'bgpg-2zev8h2wo414sfh****', + ], + 'BgpStatus' => [ + 'description' => 'BGP的连接状态。取值:'."\n" + ."\n" + .'- **Idle**:未连接。'."\n" + .'- **Connect**:使用中。'."\n" + .'- **Active**:可用。'."\n" + .'- **Established**:已建立。'."\n" + .'- **Down**:不可用。', + 'type' => 'string', + 'example' => 'Connect', + ], + 'BfdMultiHop' => [ + 'description' => 'BFD跳数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'PeerAsn' => [ + 'description' => 'BGP邻居的AS号。', + 'type' => 'string', + 'example' => '65515', + ], + 'LocalAsn' => [ + 'description' => '阿里云侧设备AS号。', + 'type' => 'string', + 'example' => '45104', + ], + 'RegionId' => [ + 'description' => 'BGP组所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'BgpPeerId' => [ + 'description' => 'BGP邻居的ID。'."\n", + 'type' => 'string', + 'example' => 'bgp-2ze3un0ft1jd1xd****', + ], + 'EnableBfd' => [ + 'description' => '是否开启BFD协议。取值:'."\n" + ."\n" + .'- **true**:开启BFD协议。'."\n" + .'- **false**:未开启BFD协议。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Hold' => [ + 'description' => '保持时间。', + 'type' => 'string', + 'example' => '30', + ], + 'IpVersion' => [ + 'description' => 'IP版本。', + 'type' => 'string', + 'example' => 'ipv4', + ], + 'Keepalive' => [ + 'description' => '保活时间。', + 'type' => 'string', + 'example' => '10', + ], + 'Description' => [ + 'description' => 'BGP组的描述信息。 ', + 'type' => 'string', + 'example' => 'test', + ], + 'RouteLimit' => [ + 'description' => '路由限制。', + 'type' => 'string', + 'example' => '110', + ], + 'IsFake' => [ + 'description' => '是否启用Fake AS号。取值:'."\n" + ."\n" + .'- **true**:启用Fake AS号。'."\n" + .'- **false**:未启用Fake AS号。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AuthKey' => [ + 'description' => 'BGP组的认证密钥。', + 'type' => 'string', + 'example' => '!PWZ****', + ], + 'Name' => [ + 'description' => 'BGP邻居的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'AdvertisedRouteCount' => [ + 'description' => '宣告的路由数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'ReceivedRouteCount' => [ + 'description' => '接收的路由数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'GmtModified' => [ + 'description' => 'BGP邻居的修改时间。', + 'type' => 'string', + 'format' => 'iso8601', + 'example' => '2022-05-20T07:29:08Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"BgpPeers\\": {\\n \\"BgpPeer\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"PeerIpAddress\\": \\"116.62.XX.XX\\",\\n \\"RouterId\\": \\"vbr-2zecmmvg5gvu8i4te****\\",\\n \\"BgpGroupId\\": \\"bgpg-2zev8h2wo414sfh****\\",\\n \\"BgpStatus\\": \\"Connect\\",\\n \\"BfdMultiHop\\": 3,\\n \\"PeerAsn\\": \\"65515\\",\\n \\"LocalAsn\\": \\"45104\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"BgpPeerId\\": \\"bgp-2ze3un0ft1jd1xd****\\",\\n \\"EnableBfd\\": true,\\n \\"Hold\\": \\"30\\",\\n \\"IpVersion\\": \\"ipv4\\",\\n \\"Keepalive\\": \\"10\\",\\n \\"Description\\": \\"test\\",\\n \\"RouteLimit\\": \\"110\\",\\n \\"IsFake\\": true,\\n \\"AuthKey\\": \\"!PWZ****\\",\\n \\"Name\\": \\"test\\",\\n \\"AdvertisedRouteCount\\": 0,\\n \\"ReceivedRouteCount\\": 0,\\n \\"GmtModified\\": \\"2022-05-20T07:29:08Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\n 1\\n 10\\n \\n Available\\n 116.62.XX.XX\\n vbr-2zecmmvg5gvu8i4te****\\n bgpg-2zev8h2wo414sfh****\\n Connect\\n 3\\n 65515\\n 45104\\n cn-shanghai\\n bgp-2ze3un0ft1jd1xd****\\n true\\n 30\\n ipv4\\n 10\\n test\\n 110\\n true\\n !PWZ****\\n test\\n 0\\n 0\\n 2022-05-20T07:29:08Z\\n \\n","errorExample":""}]', + 'title' => '查询指定地域下的BGP邻居', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateNatGateway' => [ + 'summary' => '调用CreateNatGateway接口创建增强型公网NAT网关或VPC NAT网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要创建NAT网关的VPC的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1di7uewzmtvfuq8****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关的名称。'."\n" + ."\n" + .'名称长度为2~128个字符,以大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。'."\n" + ."\n" + .'如果没有指定该参数,系统会为NAT网关创建默认的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'fortest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关的描述。'."\n" + ."\n" + .'描述可以为空;或填写2~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testnat', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月公网NAT网关已停止新购,该参数不再使用。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '无效参数', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关的付费模式,取值:'."\n" + ."\n" + .'**PostPaid**(默认值):按量付费。'."\n" + .' '."\n" + .'更多信息,请参见[公网NAT网关计费](~~48126~~)和[VPC NAT网关计费](~~270913~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月公网NAT网关已停止新购,该参数不再使用。', + 'type' => 'string', + 'required' => false, + 'example' => '无效参数', + ], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月公网NAT网关已停止新购,该参数不再使用。', + 'type' => 'string', + 'required' => false, + 'example' => '无效参数', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月公网NAT网关已停止新购,该参数不再使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => '无效参数', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所属的交换机的ID。'."\n" + ."\n" + .'创建NAT网关时,您必须指定NAT网关所属的交换机,系统会为NAT网关分配一个交换机内的空闲私网IP地址。'."\n" + ."\n" + .'- 如果您要在存量交换机中创建NAT网关,请确保交换机所属的可用区支持创建NAT网关,且交换机有可用的IP。'."\n" + ."\n" + .'- 如果您还未创建交换机,请先在支持创建NAT网关的可用区创建交换机,然后再指定NAT网关所属的交换机。'."\n" + ."\n" + .'> 您可以通过[ListEnhanhcedNatGatewayAvailableZones](~~182292~~)接口查询NAT网关的资源可用区,通过[DescribeVSwitches](~~35748~~)接口查询交换机中的可用IP数。'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'vsw-bp1e3se98n9fq8hle****', + ], + ], + [ + 'name' => 'NatType', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关的类型,取值:**Enhanced**,增强型NAT网关。'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'Enhanced', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关的计费类型,取值:**PayByLcu**,表示按使用量计费。'."\n" + ."\n\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByLcu', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的NAT网关类型,取值:'."\n" + ."\n" + .'- **internet**:公网NAT网关。'."\n" + ."\n" + .'- **intranet**:VPC NAT网关。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'internet', + ], + ], + [ + 'name' => 'SecurityProtectionEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启防火墙功能,取值:'."\n" + ."\n" + .'- **false**(默认值):不开启。'."\n" + .'> 该参数已弃用。>', + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IcmpReplyEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启ICMP代回。取值:'."\n" + ."\n" + .'- **true**(默认值):开启。'."\n" + .'- **false**:不开启。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'PrivateLinkEnabled', + 'in' => 'query', + 'schema' => [ + 'title' => '默认不支持私网链接。设置为true则意味着支持私网链接', + 'description' => '是否开启私网连接。取值:'."\n" + ."\n" + .'- true:开启私网连接。'."\n" + ."\n" + .'- false(默认值):不开启私网连接。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EipBindMode', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => 'NAT:NAT模式,支持SNAT/访问DANT,最多支持绑定50个EIP,支持ingress routing;'."\n" + .'MULTI_BINDED:多EIP网卡可见模式。', + 'description' => 'NAT网关的EIP绑定模式,取值:'."\n" + .'- **MULTI_BINDED**(默认值):多EIP网卡可见模式。'."\n" + .'- **NAT**:EIP普通模式,兼容IPv4网关。'."\n" + .' > NAT网关的EIP绑定模式为EIP普通模式时,EIP将占用NAT网关所在交换机的一个私网IP,请确保NAT网关所在交换机内私网IP地址充足,如果NAT网关所在的交换机没有可用的空闲私网地址时,将无法绑定新的EIP。NAT网关的EIP绑定模式为EIP普通模式时,NAT网关支持绑定的EIP数量上限为50个。', + 'type' => 'string', + 'required' => false, + 'example' => 'MULTI_BINDED', + 'default' => 'MULTI_BINDED', + 'enum' => [], + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。API调用时使用Tag.N.Key的形式,N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun或acs:开头,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。API调用时使用Tag.N.Value的形式,N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun或acs:开头,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'example' => 'MULTI_BINDED', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'AccessMode', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '反向访问VPC NAT网关的访问模式。', + 'type' => 'object', + 'properties' => [ + 'ModeValue' => [ + 'description' => '访问模式取值:'."\n" + ."\n" + .'- **route**:路由模式。'."\n" + ."\n" + .'- **tunnel**:隧道模式。'."\n" + ."\n" + .'>当此字段取值时,**PrivateLinkEnabled**字段,必须为:**true**。', + 'type' => 'string', + 'required' => false, + 'example' => 'route', + ], + 'TunnelType' => [ + 'description' => '隧道模式类型:'."\n" + ."\n" + .'- **geneve**: Geneve类型。'."\n" + ."\n" + .'> 当访问模式为隧道模式时此值有效。', + 'type' => 'string', + 'required' => false, + 'example' => 'geneve', + ], + ], + 'required' => false, + 'example' => 'MULTI_BINDED', + ], + ], + [ + 'name' => 'NatIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关占用的私网IP地址。请使用NAT所在交换机网段中未分配的IP,当为空时会随机分配IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.2', + ], + ], + [ + 'name' => 'Ipv4Prefix', + 'in' => 'query', + 'schema' => [ + 'description' => '创建IP前缀地址段,用于批量创建NAT IP。请使用NAT所在交换机中未分配的预留网段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/28', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'NatGatewayId' => [ + 'description' => '创建的NAT网关的实例ID。'."\n", + 'type' => 'string', + 'example' => 'ngw-112za33e4****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', + ], + 'ForwardTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ForwardTableId' => [ + 'description' => 'DNAT列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'DNAT列表。', + 'type' => 'string', + 'example' => 'ftb-11tc6xgmv****', + ], + ], + ], + ], + 'SnatTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SnatTableId' => [ + 'description' => 'SNAT列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'SNAT列表。', + 'type' => 'string', + 'example' => 'stb-SnatTableIds****', + ], + ], + ], + ], + 'FullNatTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FullNatTableId' => [ + 'description' => 'FULLNAT列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'FULLNAT列表。', + 'type' => 'string', + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NatPayBySpec', + 'errorMessage' => 'Pay-by-specification NAT is no longer supported. Newly purchased pay-as-you-go NAT gateways only support the pay-by-CU metering method.', + ], + [ + 'errorCode' => 'DependencyViolation.FullNatEntry', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'UnsupportedFeature.InternetChargeType', + 'errorMessage' => 'The feature of InternetChargeType is not supported.', + ], + [ + 'errorCode' => 'InvalidVPCStatus', + 'errorMessage' => 'vpc incorrect status.', + ], + [ + 'errorCode' => 'InvalidNatGatewayName.MalFormed', + 'errorMessage' => 'NatGateway name is not valid.', + ], + [ + 'errorCode' => 'InvalidNatGatewayDescription.MalFormed', + 'errorMessage' => 'NatGateway description is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.BandwidthPackage', + 'errorMessage' => 'only support one BandwidthPackage be created with NatGateway.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The user cannot allow to create natgw, please call PD to authorize', + ], + [ + 'errorCode' => 'RouterEntryConflict.Duplicated', + 'errorMessage' => 'A route entry already exists, which CIDR is \'0.0.0.0/0\'', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'QuotaExceeded.BandwidthPackageIps', + 'errorMessage' => 'The specified ipCount exceeded quota.', + ], + [ + 'errorCode' => 'AllocateIpFailed', + 'errorMessage' => 'Alloc bandwidthPackage ips failed, maybe no available ip.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'ZONE_NO_AVAILABLE_IP', + 'errorMessage' => 'The Zone have no available ip.', + ], + [ + 'errorCode' => 'ParameterIllegal', + 'errorMessage' => 'ipCount,bandwidth parameter invalid', + ], + [ + 'errorCode' => 'InvalidParameter.BandwidthPackage.n.ISP.ValueNotSupport', + 'errorMessage' => 'The specified ISP of BandwidthPackage is not valid.', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'The NatGatewayId not exist.', + ], + [ + 'errorCode' => 'VpcStatusError', + 'errorMessage' => 'The Vpc is creating .', + ], + [ + 'errorCode' => 'InvalidParameter.Spec.ValueNotSupported', + 'errorMessage' => 'The specified Spec is not valid.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'COMMODITY.INVALID_COMPONENT', + 'errorMessage' => 'The instance component is invalid.', + ], + [ + 'errorCode' => 'CreateNatGateway.RouteConflict.DynamicRoute', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'OperationUnsupported.MultiNatGateway', + 'errorMessage' => 'More than one natGateway per vpc is unsupported.', + ], + [ + 'errorCode' => 'Forbidden.CheckEntryRuleQuota', + 'errorMessage' => 'Route entry quota rule check error.', + ], + [ + 'errorCode' => 'OperationFailed.UnpaidBillsExist', + 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'Specified routeEntry status error.', + ], + [ + 'errorCode' => 'OperationFailed.RiskControl', + 'errorMessage' => 'Risk control check failed.', + ], + [ + 'errorCode' => 'OperationFailed.TokenVerfiy', + 'errorMessage' => 'Token verify failed.', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The specified Name is invalid, shorter than 2 characters.', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedQuotaExceed', + 'errorMessage' => 'Enhanced nat gateway per vpc quota is exceeded', + ], + [ + 'errorCode' => 'NoPermission.CreateServiceLinkedRole', + 'errorMessage' => 'You are not authorized to create service linked role', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedInventoryNotEnough', + 'errorMessage' => 'Operation failed because inventory is not enough.', + ], + [ + 'errorCode' => 'OperationFailed.VswNotBelongToVpc', + 'errorMessage' => 'Operation failed because the specified VSwitch is not bound to the same VPC with NAT gateway.', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedUserIsUnAuthorized', + 'errorMessage' => 'Operation failed because the user is not authorized to create an enhanced NAT gateway.', + ], + [ + 'errorCode' => 'OperationUnsupported.PrePaidPyByLcu', + 'errorMessage' => 'The operation failed because the subscription NAT gateway does not support the pay-by-LCU billing method.', + ], + [ + 'errorCode' => 'OperationFailed.NormalInventoryNotEnough', + 'errorMessage' => 'Standard NAT gateways are no longer offered. You can create enhanced NAT gateways and set the correct natType.', + ], + [ + 'errorCode' => 'OperationFailed.VSwitchNoAvailableIp', + 'errorMessage' => 'Operation failed because the specified vswitch does not have availabe ip.', + ], + [ + 'errorCode' => 'UnsupportedFeature.IcmpReplyEnabled', + 'errorMessage' => 'The feature of IcmpReplyEnabled is not supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.SecurityProtectionEnabled', + 'errorMessage' => 'The feature of SecurityProtectionEnabled is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.RegionConvert', + 'errorMessage' => 'Operation failed because do not find region info.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcNat', + 'errorMessage' => 'The feature of VpcNat is not supported.', + ], + [ + 'errorCode' => 'InvalidVSWITCHID.NotFound', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'Operate share resource is forbidden.', + ], + [ + 'errorCode' => 'IncorrectStatus.VSWITCH', + 'errorMessage' => 'The status of VSWITCH is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.VpcNatGatewayInventoryNotEnough', + 'errorMessage' => 'The operation is failed because of inventory is not enough.', + ], + [ + 'errorCode' => 'OperationFailed.VpcNatGatewayCheckInventory', + 'errorMessage' => 'The operation is failed because of check inventory result is unexpected', + ], + [ + 'errorCode' => 'ExclusiveParam.%sAnd%s', + 'errorMessage' => 'The param of %s and %s are mutually exclusive.', + ], + [ + 'errorCode' => 'SecurityGroupType.NotSupported', + 'errorMessage' => 'The specified security group type is not supported.', + ], + [ + 'errorCode' => 'SecurityGroup.NotExist', + 'errorMessage' => 'The specified security group is not exist.', + ], + [ + 'errorCode' => 'OperationFailed.ContainForbiddenLabel', + 'errorMessage' => 'There is a label that prohibits ordering, please contact your distributor for processing.', + ], + [ + 'errorCode' => 'OperationDenied.PrePaidInstance', + 'errorMessage' => 'The operation is not allowed because prepaid instance is no longer supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Geneve', + 'errorMessage' => 'The feature of Geneve is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.NoAvailableResource', + 'errorMessage' => 'The Zone have no available resource.', + ], + [ + 'errorCode' => 'ExclusiveParam.AccessModeValueAndAccessTunnelType', + 'errorMessage' => 'The specified param AccessModeValue and AccessTunnelType are mutually exclusive.', + ], + [ + 'errorCode' => 'ExclusiveParam.PrivateLinkModeAndAccessMode', + 'errorMessage' => 'The specified param PrivateLinkMode and AccessMode are mutually exclusive.', + ], + [ + 'errorCode' => 'ExclusiveParam.PrivateLinkEnabledAndAccessMode', + 'errorMessage' => 'The specified paramPrivateLinkEnabled and AccessMode are mutually exclusive.', + ], + [ + 'errorCode' => 'UnsupportedFeature.AccessModeValue', + 'errorMessage' => 'The feature of AccessMode.ModeValue(%s) is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.AccessTunnelType', + 'errorMessage' => 'The request parameter AccessMode.TunnelType is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.AccessModeValue', + 'errorMessage' => 'The request parameter AccessMode.ModeValue is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.VSwitchStatusError', + 'errorMessage' => 'The vSwitch is creating .', + ], + [ + 'errorCode' => 'UnsupportedFeature.PrivateLinkMode', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.EcsNetworkInterfaceQuotaNotSatisfy', + 'errorMessage' => 'ECS network interface quota is not satisfy.', + ], + [ + 'errorCode' => 'OperationFailed.NoNameAuthentication', + 'errorMessage' => 'You have not passed the real name authentication and do not meet the purchase conditions. Please log in to the user center for real-name authentication.', + ], + [ + 'errorCode' => 'Mismatch.NatIpAndNatIpCidr', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'Mismatch.Ipv4PrefixAndNatIpCidr', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.NatIp', + 'errorMessage' => 'The specified resource of NatIp has already exist.', + ], + [ + 'errorCode' => 'Mismatch.Ipv4PrefixAndCidrReservations', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.Ipv4Prefix', + 'errorMessage' => '%s is already associated.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Ipv4Prefix', + 'errorMessage' => 'The resource of %s is not enough.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv4Prefix', + 'errorMessage' => 'The resource of s% is not found.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.NatIp', + 'errorMessage' => 'The resource of %s was already associated.', + ], + [ + 'errorCode' => 'ResourceNotEnough.NatIp', + 'errorMessage' => 'The specified resource of NatIp is not enough.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv4Prefix', + 'errorMessage' => 'The param of %s is illegal, must be /28 network segment.', + ], + [ + 'errorCode' => 'IllegalParam.NatIp', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'OperationUnsupported.EnhancedRegion', + 'errorMessage' => 'Region not support.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTableStatus', + 'errorMessage' => 'The route table status is invaild. Please try again later.', + ], + [ + 'errorCode' => 'OperationUnsupported.User', + 'errorMessage' => 'The current user does not support this operation.', + ], + [ + 'errorCode' => 'OperationUnsupported.EnhancedCURegion', + 'errorMessage' => 'Operation failed because of this region not unsupported.', + ], + [ + 'errorCode' => 'OrderError.NoAvailablePaymentMethod', + 'errorMessage' => 'Order payment parameter is not available.', + ], + [ + 'errorCode' => 'OrderError.BasicInfoUncompleted', + 'errorMessage' => 'Order basic parameter is not completed.', + ], + [ + 'errorCode' => 'OperationUnsupported.Region', + 'errorMessage' => 'Operation unsupport this region parameter.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'Specified value of ZoneId is not exists.', + ], + [ + 'errorCode' => 'VPC_ONLY_CAN_CREATE_ONE_NAT_GATEWAY', + 'errorMessage' => 'NatGateway in one vpc support only one.', + ], + [ + 'errorCode' => 'OperationFailed.CrateEntryTimeOut', + 'errorMessage' => 'Operation failed because create custom routeEntry timeout.', + ], + [ + 'errorCode' => 'Forbidden.CreateSpecialSpecNatGateway', + 'errorMessage' => 'You are not authorized to create special spec nat gateway.', + ], + [ + 'errorCode' => 'UnsupportedZoneForFwNat', + 'errorMessage' => 'The zone is unsupported for FW NAT.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OrderError.NatGateway', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'OperationFailed.AccessTunnelId', + 'errorMessage' => 'AccessTunnelId param do operation failed.', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedCheckInventory', + 'errorMessage' => 'The NAT gateway in the current zone is not in service, or the resource inventory is insufficient.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NatGatewayId\\": \\"ngw-112za33e4****\\",\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\",\\n \\"ForwardTableIds\\": {\\n \\"ForwardTableId\\": [\\n \\"ftb-11tc6xgmv****\\"\\n ]\\n },\\n \\"SnatTableIds\\": {\\n \\"SnatTableId\\": [\\n \\"stb-SnatTableIds****\\"\\n ]\\n },\\n \\"FullNatTableIds\\": {\\n \\"FullNatTableId\\": [\\n \\"fulltb-gw88z7hhlv43rmb26****\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n ngw-112za33e4****\\n 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\n ftb-11tc6xgmv****\\n stb-SnatTableIds****\\n fulltb-gw88z7hhlv43rmb26****\\n","errorExample":""}]', + 'title' => '创建NAT网关', + 'description' => '在调用本接口时,请了解以下内容:'."\n" + ."\n" + .'- 首次创建NAT网关时,系统会自动创建一个名称为AliyunServiceRoleForNatgw的服务关联角色,并且为该角色添加名称为AliyunServiceRolePolicyForNatgw的权限策略,授予NAT网关拥有访问其他云资源的权限。更多信息,请参见[服务关联角色](~~174251~~)。'."\n" + ."\n" + .'- 增强型公网NAT网关创建后,系统会在VPC的路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为NAT网关的路由条目,用于将流量路由到NAT网关。'."\n" + ."\n" + .'- **CreateNatGateway**接口属于异步接口,即系统会先返回一个NAT网关(公网NAT网关或VPC NAT网关)实例ID,但该NAT网关实例并未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeNatGateways](~~36054~~)查询NAT网关的状态。'."\n" + ."\n" + .' - 当NAT网关处于**Creating**状态时,表示NAT网关正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当NAT网关处于**Available**状态时,表示NAT网关创建完成。'."\n" + .' '."\n" + .' NAT网关创建一般需要1~3分钟,请您耐心等待。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteNatGateway' => [ + 'summary' => '调用DeleteNatGateway接口删除指定的公网NAT网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的NAT网关的实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除NAT网关,取值:'."\n" + ."\n" + .'- **true**:强制删除。当取值为**true**时,说明如下:'."\n" + ."\n" + .' - 如果NAT网关有SNAT规则,系统会自动帮您删除SNAT规则。'."\n" + ."\n" + .' - 如果NAT网关有DNAT规则,系统会自动帮您删除DNAT规则。'."\n" + ."\n" + .' - 如果NAT网关有绑定EIP,系统会自动帮您解绑。'."\n" + ."\n" + .' - 如果NAT网关有未删除的NAT带宽包,系统会自动帮您删除NAT带宽包。'."\n" + ."\n" + .'- **false**(默认值):不强制删除。当取值为**false**时,说明如下:'."\n" + ."\n" + .' - 如果NAT网关有未删除的NAT带宽包,请先删除NAT带宽包。'."\n" + ."\n" + .' - 如果NAT网关有SNAT规则,请先删除SNAT规则。'."\n" + ."\n" + .' - 如果NAT网关有DNAT规则,请先删除DNAT规则。'."\n" + ."\n" + .' - 如果NAT网关有绑定EIP,请先解绑EIP。'."\n" + ."\n\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.VpcEndpointService', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.FullNatEntry', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterEntry', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.BandwidthPackages', + 'errorMessage' => 'There are BandwidthPackages on specified NatGateway not deleted.', + ], + [ + 'errorCode' => 'DependencyViolation.EIPS', + 'errorMessage' => 'There are Eips on specified NatGateway, please unbind it first.', + ], + [ + 'errorCode' => 'Forbidden.PrePaidNatGateway', + 'errorMessage' => 'The specified NatGateway is PrePaid.', + ], + [ + 'errorCode' => 'InvalidOperation.DeletionProtection', + 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', + ], + [ + 'errorCode' => 'DependencyViolation.SnatEntry', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IncorrectStatus.SnatEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.ForwardEntry', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IncorrectStatus.ForwardEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.NatIp', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.NatIpCidr', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => 'The NatGateway instance is being deleted and needs to wait until the process is complete.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouterEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.VSwitch', + 'errorMessage' => 'The specified vSwitch status is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'INSTANCE_NOT_EXISTS', + 'errorMessage' => 'Instance not exists.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'The specified NatGatewayId does not exist in our records.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '删除指定的NAT网关', + 'description' => '**DeleteNatGateway**接口属于异步接口,即系统会先返回一个请求ID,但该NAT网关实例并未删除完成,系统后台的删除任务仍在进行。您可以调用[DescribeNatGateways](~~36054~~)查询NAT网关的状态:'."\n" + .' '."\n" + .'- 当NAT网关处于**Deleting**状态时,表示NAT网关正在删除中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当查询不到该NAT网关实例时,表示NAT网关删除完成。'."\n" + .' '."\n" + .'> 删除NAT网关操作不可恢复,请您谨慎操作。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyNatGatewayAttribute' => [ + 'summary' => '调用ModifyNatGatewayAttribute接口修改NAT网关的属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT网关所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT网关的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ngw-2ze0dcn4mq31qx2jc****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT网关名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nat123', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT网关描述信息。'."\n" + ."\n" + .'描述长度为1~128个字符,不能以`http://`或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'Description', + ], + ], + [ + 'name' => 'IcmpReplyEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启ICMP代回。取值:'."\n" + ."\n" + .'- **true**(默认值):开启。'."\n" + .'- **false**:不开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EipBindMode', + 'in' => 'query', + 'schema' => [ + 'description' => '修改NAT网关的EIP绑定模式。取值:可以为空,非空时只允许为**NAT**,表示绑定模式为EIP普通模式。'."\n" + ."\n\n" + .'> - 只支持将**MULTI_BINDED**模式修改为**NAT**模式,不支持将**NAT**模式修改为**MULTI_BINDED**模式。关于**MULTI_BINDED**模式的具体信息,请参见[CreateNatGateway](~~120219~~)。'."\n" + .'- 在EIP绑定模式切换过程中网络连接会出现秒级别闪断(闪断时间随着EIP数量增加而变长,目前最多支持绑定5个EIP的NAT网关进行配置变更),请您尽量在业务低峰期执行切换操作。'."\n" + .'- EIP绑定模式变更为**NAT**后,公网NAT网关将兼容IPv4网关,但绑定一个公网EIP时将占用NAT网关所在交换机的一个私网IP,请确保NAT网关所在交换机内私网IP地址充足,如果NAT网关所在的交换机没有可用的空闲私网地址时,将无法绑定新的EIP。', + 'type' => 'string', + 'required' => false, + 'example' => 'NAT', + 'enum' => [ + 'NAT', + ], + ], + ], + [ + 'name' => 'EnableSessionLog', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启会话日志,取值:'."\n" + ."\n" + .'- **true**:已开启会话日志。'."\n" + ."\n" + .'- **false**:已关闭会话日志。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'LogDelivery', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '会话日志配置信息。', + 'type' => 'object', + 'properties' => [ + 'LogDeliveryType' => [ + 'description' => '会话日志写入类型。取值:**sls**,阿里云日志服务SLS。', + 'type' => 'string', + 'required' => false, + 'example' => 'sls', + ], + 'LogDestination' => [ + 'description' => '会话日志写入地址。取值:acs:log:${regionName}:${projectOwnerAliUid}:project/${projectName}/logstore/${logstoreName}', + 'type' => 'string', + 'required' => false, + 'example' => 'acs:log:cn-hangzhou:0000:project/nat_session_log_project/logstore/session_log_test', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'AB5F62CF-2B60-4458-A756-42C9DFE108D1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedFeature.PrivateLinkMode', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'IncorrectStatus.NATGW', + 'errorMessage' => 'NATGW status is invalid.', + ], + [ + 'errorCode' => 'ExclusiveParam.%sAnd%s', + 'errorMessage' => 'The param of %s and %s are mutually exclusive.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => 'The status of natgateway is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.PrivateLinkMode', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'UnsupportedFeature.IcmpReplyEnabled', + 'errorMessage' => 'The feature of IcmpReplyEnabled is not supported.', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'The parameter must not be null, name or description or icmpReplyEnabled', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'UnsupportedFeature.IndirectConvertForVpcNat', + 'errorMessage' => 'The VPC NAT gateway is not support to change EIP bond type.', + ], + [ + 'errorCode' => 'UnsupportedFeature.NormalNatModifyEipBindMode', + 'errorMessage' => 'The normal NAT gateway is not support to change EIP bond type.', + ], + [ + 'errorCode' => 'OperationDenied.EipBondTypeIsAlreadyNAT', + 'errorMessage' => 'The EIP bond type is already NAT type.', + ], + [ + 'errorCode' => 'UnsupportedFeature.IndirectConvertForFwNat', + 'errorMessage' => 'The security protection enabled NAT gateway is not support change EIP bond type.', + ], + [ + 'errorCode' => 'QuotaExceeded.EipNumForModifyEipBondType', + 'errorMessage' => 'The quota of %s is exceeded, binded: %s, quota: %s.', + ], + [ + 'errorCode' => 'ResourceNotEnough.SwitchAvailableIps', + 'errorMessage' => 'The available private Ip number is not enough in your subnet.', + ], + [ + 'errorCode' => 'UnsupportedFeature.VpcNatSecurityProtectionEnabled', + 'errorMessage' => 'The VPC NAT gateway is not supported to enable security protection.', + ], + [ + 'errorCode' => 'OperationDenied.NatGatewayStatusInvalid', + 'errorMessage' => 'The NAT gateway status is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.EipStatusInvalid', + 'errorMessage' => 'The NAT gateway has EIP in invalid status.', + ], + [ + 'errorCode' => 'OperationDenied.SnatEntryStatusInvalid', + 'errorMessage' => 'The NAT gateway has SNAT entry in invalid status.', + ], + [ + 'errorCode' => 'OperationDenied.DnatEntryStatusInvalid', + 'errorMessage' => 'The NAT gateway has DNAT entry in invalid status.', + ], + [ + 'errorCode' => 'UnsupportedFeature.MutilBindedTypeNatEnableFw', + 'errorMessage' => 'The NAT with Mutil-Binded Eip bind type is not support enable firewall.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The instance is locked due to outstanding payments.', + ], + [ + 'errorCode' => 'OperationFailed.PrivateLinkMode', + 'errorMessage' => 'The NAT gateway is not support to change PrivateLinkMode.', + ], + [ + 'errorCode' => 'IllegalParam.SessionLogDeliveryDestination', + 'errorMessage' => 'The specified Delivery Destination is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.LogDeliveryIsUnAuthorized', + 'errorMessage' => 'Operation failed because the user is not authorized to deliver NAT session log.', + ], + [ + 'errorCode' => 'IllegalParam.SessionLogDeliveryType', + 'errorMessage' => 'The specified Delivery Type is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.EnableSessionLog', + 'errorMessage' => 'The feature of EnableSessionLog is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.ModifyEipBondType', + 'errorMessage' => 'Authentication is failed for modify EIP bond type.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'The specified NatGatewayId does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationFailed.ConfigSessionLog', + 'errorMessage' => 'Failed to configure session log due to a temporary failure of the server.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AB5F62CF-2B60-4458-A756-42C9DFE108D1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n AB5F62CF-2B60-4458-A756-42C9DFE108D1\\n","errorExample":""}]', + 'title' => '修改NAT网关的属性', + 'description' => '本接口查询的NAT网关包括公网NAT网关和VPC NAT网关,文中出现的“NAT网关”不做具体的区分。', + ], + 'ModifyNatGatewaySpec' => [ + 'summary' => '使用ModifyNatGatewaySpec接口修改预付费公网NAT网关的规格。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '公网NAT网关所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改规格的公网NAT网关的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => '公网NAT网关的规格,取值:'."\n" + ."\n" + .'- **Small**:小型。'."\n" + ."\n" + .'- **Middle**:中型。'."\n" + ."\n" + .'- **Large**:大型。'."\n" + ."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Middle', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动付费。'."\n" + ."\n" + .'- **true**:开启自动付费,自动支付订单。'."\n" + ."\n" + .'- **false**(默认值):不开启自动付费,生成订单后需要到订单中心完成支付。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NATGW_MODIFY_SPEC_SAME', + 'errorMessage' => 'The specified Spec is same with now.', + ], + [ + 'errorCode' => 'InvalidParameter.Spec.ValueNotSupported', + 'errorMessage' => 'The specified Spec is not valid.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'OperationFailed.QueryPrice', + 'errorMessage' => 'Query price failed when create order.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => 'The status of NAT gateway is incorrect.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'The specified NatGatewayId does not exist in our records.', + ], + [ + 'errorCode' => 'OperationUnsupported.PayByLcuNatModifySpec', + 'errorMessage' => 'The spec of payByLcu nat is unsupported to modify.', + ], + [ + 'errorCode' => 'Forbidden.ModifySpecToSpecialSpec', + 'errorMessage' => 'You are not authorized to modify nat spec to special spec.', + ], + [ + 'errorCode' => 'Forbidden.ModifySpecToSpecialSpecForNormalNat', + 'errorMessage' => 'Normal NAT is not allowed to change to special spec, only enhanced nat allowed.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationFailed.NoAvailableResource', + 'errorMessage' => 'The Zone have no available resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D\\n","errorExample":""}]', + 'title' => '接口修改NAT网关的规格', + 'description' => '- **ModifyNatGatewaySpec**接口不支持预付费公网NAT网关规格降配,请在控制台执行降配操作。'."\n" + .'- **ModifyNatGatewaySpec**接口在执行预付费公网NAT网关规格升配时,会生成升配订单,请在订单中心进行支付,支付完成后,公网NAT网关升配即可成功。'."\n" + ."\n" + .'- **ModifyNatGatewaySpec**接口属于异步接口,即系统会先返回一个请求ID,但该公网NAT网关实例的规格并未变配完成,系统后台的变配任务仍在进行。您可以调用[DescribeNatGateways](~~2522327~~)查询公网NAT网关的状态:'."\n" + ."\n" + .' - 当公网NAT网关处于**Modifying**状态时,表示公网NAT网关正在变配中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当公网NAT网关处于**Available**状态时,表示公网NAT网关变配完成。'."\n" + ."\n" + .'- **ModifyNatGatewaySpec**接口不支持并发修改按规格计费NAT网关实例的规格。'."\n" + ."\n" + .'公网NAT网关提供不同的规格。公网NAT网关的规格会影响SNAT功能的最大连接数和每秒新建连接数,但不会影响数据吞吐量。公网NAT网关规格与SNAT性能的关系如下表所示。'."\n" + ."\n" + .'| 规格 | 最大连接数 | 每秒新建连接数'."\n" + .'| ------------- |------------ | ------------ | '."\n" + .'| 小型 | 1万 |1千 '."\n" + .'| 中型 | 5万 | 5千 '."\n" + .'| 大型 | 20万 | 1万', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeNatGateways' => [ + 'summary' => '调用DescribeNatGateways以列表形式查询指定地域指定条件NAT网关的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关所属VPC的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp15zckdt37pq72z****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关实例的付费模式,取值:'."\n" + ."\n" + .''."\n" + .'- **PostPaid**:按量付费。'."\n" + .'- **PrePaid**:存量包年包月付费模式。目前包年包月付费模式已停止新购。'."\n" + ."\n" + .''."\n" + ."\n" + .'要查询的NAT网关实例的付费模式,取值:**PostPaid**(按量付费)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => '公网NAT网关的规格,仅当**InstanceChargeType**为**PrePaid**(存量包年包月公网NAT网关)支持按固定规格创建NAT网关,取值:'."\n" + ."\n" + .''."\n" + .'- **Small**(默认值):小型。'."\n" + .'- **Middle**:中型。'."\n" + .'- **Large**:大型。'."\n" + ."\n" + .''."\n" + .'NAT网关的规格,该参数不填。', + 'type' => 'string', + 'required' => false, + 'example' => '中国站示例值:Small,国际站示例值:无需填写', + ], + ], + [ + 'name' => 'NatType', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关的类型,取值:**Enhanced**,增强型。', + 'type' => 'string', + 'required' => false, + 'example' => 'Enhanced', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '10', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接查询资源状况。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的状态,取值:'."\n" + .'- **Creating**:创建NAT网关是异步操作,在创建完成之前是**Creating**状态。'."\n" + ."\n" + .'- **Available**:NAT网关创建完成后的状态,是稳定状态。'."\n" + ."\n" + .'- **Modifying**:变配NAT网关是异步操作,在变配的过程中是**Modifying**状态。'."\n" + ."\n" + .'- **Deleting**:删除NAT网关是异步操作,在删除的过程中是**Deleting**状态。'."\n" + ."\n" + .'- **Converting**:普通型NAT网关转换到增强型NAT网关是异步操作,在转换过程中是**Converting**状态。', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的类型,取值:'."\n" + ."\n" + .'- **internet**:公网NAT网关。'."\n" + .'- **intranet**:VPC NAT网关。', + 'type' => 'string', + 'required' => false, + 'example' => 'internet', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'NAT网关实例的标签键。最多支持输入20个标签键。'."\n" + ."\n" + .'标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => 'NAT网关实例的标签值。最多支持输入20个标签值。'."\n" + ."\n" + .'标签值最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`和`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'valueTest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'title' => '可用区', + 'description' => 'NAT网关所在的可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '每页包含的条目数。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '查询的NAT网关列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NatGateways' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NatGateway' => [ + 'description' => 'NAT网关的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'NAT网关的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'NAT网关的状态,取值:'."\n" + ."\n" + .'- **Creating**:创建NAT网关是异步操作,在创建完成之前是**Creating**状态。'."\n" + ."\n" + .'- **Available**:NAT网关创建完成后的状态,是稳定状态。'."\n" + ."\n" + .'- **Modifying**:变配NAT网关是异步操作,在变配的过程中是**Modifying**状态。'."\n" + ."\n" + .'- **Deleting**:删除NAT网关是异步操作,在删除的过程中是**Deleting**状态。'."\n" + ."\n" + .'- **Converting**:普通型NAT网关转换到增强型NAT网关是异步操作,在转换过程中是**Converting**状态。', + 'type' => 'string', + 'example' => 'Creating', + ], + 'CreationTime' => [ + 'description' => 'NAT网关的创建时间。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:20Z', + ], + 'VpcId' => [ + 'description' => 'NAT网关所属的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72z****', + ], + 'NatType' => [ + 'description' => 'NAT网关的类型,取值:**Enhanced**,增强型。', + 'type' => 'string', + 'example' => 'Enhanced', + ], + 'AutoPay' => [ + 'description' => '是否自动支付订单。取值:'."\n" + ."\n" + .'- **false**:不自动支付订单。'."\n" + .'- **true**:自动支付订单。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Spec' => [ + 'description' => '公网NAT网关的规格,仅当**InstanceChargeType**为**PrePaid**(存量包年包月公网NAT网关)支持按固定规格创建NAT网关,取值:'."\n" + ."\n" + .''."\n" + .'- **Small**:小型。'."\n" + .'- **Middle**:中型。'."\n" + .'- **Large**:大型。'."\n" + ."\n" + .''."\n" + ."\n" + .'NAT网关的规格,该参数返回值为空。'."\n" + ."\n" + .'当**InternetChargeType**为**PayByLcu**时,返回值为空。', + 'type' => 'string', + 'example' => 'Small', + ], + 'DeletionProtection' => [ + 'description' => '是否开启了删除保护功能,取值:'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'NetworkType' => [ + 'description' => 'NAT网关的类型,取值:'."\n" + ."\n" + .'- **internet**:公网NAT网关。'."\n" + ."\n" + .'- **intranet**:VPC NAT网关。', + 'type' => 'string', + 'example' => 'internet', + ], + 'SecurityProtectionEnabled' => [ + 'description' => '是否开启防火墙功能,取值:'."\n" + ."\n" + .'- **false**:不开启防火墙功能。'."\n" + ."\n" + .'- **true**:开启防火墙功能。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'InstanceChargeType' => [ + 'description' => '要查询的NAT网关实例的付费模式,取值:'."\n" + ."\n" + .''."\n" + .'- **PostPaid**:按量付费。'."\n" + .'- **PrePaid**:包年包月。'."\n" + ."\n" + .''."\n" + ."\n" + .'要查询的NAT网关实例的付费模式,取值:**PostPaid**(按量付费)。'."\n", + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'RegionId' => [ + 'description' => 'NAT网关的所在地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'EcsMetricEnabled' => [ + 'description' => '是否开启了网关流量监控功能,取值:'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'IcmpReplyEnabled' => [ + 'description' => '是否开启ICMP代回。取值:'."\n" + ."\n" + .'- **true**(默认值):开启。'."\n" + .'- **false**:不开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Description' => [ + 'description' => 'NAT网关的描述信息。', + 'type' => 'string', + 'example' => 'NAT', + ], + 'ExpiredTime' => [ + 'description' => 'NAT网关的过期时间。', + 'type' => 'string', + 'example' => '2021-08-26T16:00Z', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'NatGatewayId' => [ + 'description' => 'NAT网关的ID。', + 'type' => 'string', + 'example' => 'ngw-bp1047e2d4z7kf2ki****', + ], + 'InternetChargeType' => [ + 'description' => 'NAT网关的计费类型,取值:'."\n" + ."\n" + .'- **PayBySpec**:按固定规格计费。'."\n" + ."\n" + .'- **PayByLcu**:按使用量计费。', + 'type' => 'string', + 'example' => 'PayByLcu', + ], + 'BusinessStatus' => [ + 'description' => 'NAT网关的业务状态,取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定状态。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Name' => [ + 'description' => 'NAT网关实例名称。', + 'type' => 'string', + 'example' => 'abc', + ], + 'IpLists' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpList' => [ + 'description' => '公网NAT网关绑定的EIP列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'NAT网关的IP信息列表。', + 'type' => 'object', + 'properties' => [ + 'UsingStatus' => [ + 'description' => '公网NAT网关实例绑定的EIP的关联关系。取值:'."\n" + ."\n" + .'- **UsedByForwardTable**:使用该EIP配置了DNAT规则。'."\n" + .'- **UsedBySnatTable**:使用该EIP配置了SNAT规则。'."\n" + .'- **UsedByForwardSnatTable**:使用该EIP配置了DNAT和SNAT规则。'."\n" + .'- **Idle**:闲置状态,未配置DNAT和SNAT规则。', + 'type' => 'string', + 'example' => 'UsedByForwardTable', + ], + 'IpAddress' => [ + 'description' => 'NAT网关绑定的EIP的IP地址。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'SnatEntryEnabled' => [ + 'description' => '已经用于DNAT条目的IP,是否还可用于SNAT条目,取值:'."\n" + ."\n" + .'- **true**:还可用于SNAT条目。'."\n" + ."\n" + .'- **false**:不可用于SNAT条目。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'AllocationId' => [ + 'description' => 'NAT网关绑定的EIP的实例ID。', + 'type' => 'string', + 'example' => 'eip-m5egzuvp3dgixen6****', + ], + 'PrivateIpAddress' => [ + 'description' => 'NAT网关的私网IP地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + ], + ], + ], + ], + ], + 'ForwardTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ForwardTableId' => [ + 'description' => 'NAT网关的DNAT表ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'DNAT表ID。', + 'type' => 'string', + 'example' => 'ftb-uf6gj3mhsg94qsqst****', + ], + ], + ], + ], + 'SnatTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SnatTableId' => [ + 'description' => 'NAT网关的SNAT表ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'SNAT表ID。', + 'type' => 'string', + 'example' => 'stb-uf6dalcdu0krz423p****', + ], + ], + ], + ], + 'FullNatTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FullNatTableId' => [ + 'description' => 'FULLNAT表ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'FULLNAT表ID。', + 'type' => 'string', + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + ], + ], + ], + 'NatGatewayPrivateInfo' => [ + 'description' => '增强型公网NAT网关的私网信息。'."\n" + ."\n" + .'>**NatType**取值为**Normal**时,该列表中返回的参数均为空值。', + 'type' => 'object', + 'properties' => [ + 'VswitchId' => [ + 'description' => 'NAT网关所属的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp1s2laxhdf9ayjbo****', + ], + 'EniInstanceId' => [ + 'description' => '弹性网卡实例ID。', + 'type' => 'string', + 'example' => 'eni-m5eg4ozy5st8q3q4****', + ], + 'MaxBandwidth' => [ + 'description' => '最大带宽值,单位为Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5120', + ], + 'MaxSessionQuota' => [ + 'description' => 'NAT网关的并发连接数。单位:个。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2000000', + ], + 'MaxSessionEstablishRate' => [ + 'description' => 'NAT网关的新建连接数。单位:个/秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100000', + ], + 'PrivateIpAddress' => [ + 'description' => '私网IP地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'IzNo' => [ + 'description' => 'NAT网关所属的可用区。', + 'type' => 'string', + 'example' => 'cn-hangzhou-b', + ], + 'EniType' => [ + 'description' => '弹性网卡与NAT网关的绑定模式,取值:'."\n" + ."\n" + .'- **indirect**:非直通模式。'."\n" + ."\n" + .'- 返回值为空:直通模式。', + 'type' => 'string', + 'example' => 'indirect', + ], + ], + ], + 'PrivateLinkEnabled' => [ + 'title' => '默认不支持私网链接。设置为1则意味着支持私网链接', + 'description' => '是否支持私网连接,取值:'."\n" + ."\n" + .'- **true**:支持私网连接。'."\n" + .'- **false**:不支持私网连接。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'PrivateLinkMode' => [ + 'title' => 'Fullnat:使用FullNat模式 Geneve:使用Geneve模式。 预估大部分场景都是非Geneve模式的。', + 'description' => '私网连接服务转化模式,取值:'."\n" + ."\n" + .'- **FullNat**:使用FULLNAT模式。'."\n" + .'- **Geneve**:使用Geneve模式。', + 'type' => 'string', + 'example' => 'FullNat', + ], + 'EipBindMode' => [ + 'title' => 'NAT网关的EIP绑定模式,取值:'."\n" + ."\n" + .'MULTI_BINDED:多EIP网卡可见模式。'."\n" + .'NAT:EIP普通模式,兼容IPv4网关。'."\n" + .'说明 NAT网关的EIP绑定模式为EIP普通模式时,EIP将占用NAT网关所在交换机的一个私网IP,请确保NAT网关所在交换机内私网IP地址充足,如果NAT网关所在的交换机没有可用的空闲私网地址时,将无法绑定新的EIP。NAT网关的EIP绑定模式为EIP普通模式时,NAT网关支持绑定的EIP数量上限为50个。', + 'description' => 'NAT网关的EIP绑定模式,取值:'."\n" + ."\n" + .'- **MULTI_BINDED**:多EIP网卡可见模式。'."\n" + ."\n" + .'- **NAT**:EIP普通模式,兼容IPv4网关。'."\n" + ."\n" + .'>NAT网关的EIP绑定模式为EIP普通模式时,EIP将占用NAT网关所在交换机的一个私网IP,请确保NAT网关所在交换机内私网IP地址充足,如果NAT网关所在的交换机没有可用的空闲私网地址时,将无法绑定新的EIP。NAT网关的EIP绑定模式为EIP普通模式时,NAT网关支持绑定的EIP数量上限为50个。', + 'type' => 'string', + 'example' => 'MULTI_BINDED', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'title' => '', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '实例的标签键。', + 'type' => 'string', + 'example' => 'KeyTest', + ], + 'TagValue' => [ + 'description' => '实例的标签值。', + 'type' => 'string', + 'example' => 'valueTest', + ], + ], + ], + ], + ], + ], + 'EnableSessionLog' => [ + 'description' => '是否开启会话日志,取值:'."\n" + ."\n" + .'- **true**:已开启会话日志。'."\n" + ."\n" + .'- **false**:已关闭会话日志。', + 'type' => 'string', + 'example' => 'true', + ], + 'AccessMode' => [ + 'description' => '反向访问VPC NAT网关的访问模式。', + 'type' => 'object', + 'properties' => [ + 'ModeValue' => [ + 'description' => '访问模式,取值:'."\n" + ."\n" + .'- **route**:路由模式。'."\n" + ."\n" + .'- **tunnel**:隧道模式。', + 'type' => 'string', + 'example' => 'route', + ], + 'TunnelType' => [ + 'description' => '隧道模式类型:'."\n" + ."\n" + .'- **geneve**: Geneve类型。', + 'type' => 'string', + 'example' => 'geneve', + ], + ], + ], + 'IpPrefixList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpPrefixList' => [ + 'description' => 'NAT IP前缀地址段列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IpPrefix' => [ + 'description' => 'NAT IP前缀地址段。', + 'type' => 'string', + 'example' => '192.168.0.0/28', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"PageNumber\\": 10,\\n \\"TotalCount\\": 1,\\n \\"NatGateways\\": {\\n \\"NatGateway\\": [\\n {\\n \\"Status\\": \\"Creating\\",\\n \\"CreationTime\\": \\"2021-06-08T12:20:20Z\\",\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72z****\\",\\n \\"NatType\\": \\"Enhanced\\",\\n \\"AutoPay\\": false,\\n \\"Spec\\": \\"Small\\",\\n \\"DeletionProtection\\": true,\\n \\"NetworkType\\": \\"internet\\",\\n \\"SecurityProtectionEnabled\\": false,\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EcsMetricEnabled\\": true,\\n \\"IcmpReplyEnabled\\": true,\\n \\"Description\\": \\"NAT\\",\\n \\"ExpiredTime\\": \\"2021-08-26T16:00Z\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"NatGatewayId\\": \\"ngw-bp1047e2d4z7kf2ki****\\",\\n \\"InternetChargeType\\": \\"PayByLcu\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Name\\": \\"abc\\",\\n \\"IpLists\\": {\\n \\"IpList\\": [\\n {\\n \\"UsingStatus\\": \\"UsedByForwardTable\\",\\n \\"IpAddress\\": \\"116.62.XX.XX\\",\\n \\"SnatEntryEnabled\\": false,\\n \\"AllocationId\\": \\"eip-m5egzuvp3dgixen6****\\",\\n \\"PrivateIpAddress\\": \\"192.168.XX.XX\\"\\n }\\n ]\\n },\\n \\"ForwardTableIds\\": {\\n \\"ForwardTableId\\": [\\n \\"ftb-uf6gj3mhsg94qsqst****\\"\\n ]\\n },\\n \\"SnatTableIds\\": {\\n \\"SnatTableId\\": [\\n \\"stb-uf6dalcdu0krz423p****\\"\\n ]\\n },\\n \\"FullNatTableIds\\": {\\n \\"FullNatTableId\\": [\\n \\"fulltb-gw88z7hhlv43rmb26****\\"\\n ]\\n },\\n \\"NatGatewayPrivateInfo\\": {\\n \\"VswitchId\\": \\"vsw-bp1s2laxhdf9ayjbo****\\",\\n \\"EniInstanceId\\": \\"eni-m5eg4ozy5st8q3q4****\\",\\n \\"MaxBandwidth\\": 5120,\\n \\"MaxSessionQuota\\": 2000000,\\n \\"MaxSessionEstablishRate\\": 100000,\\n \\"PrivateIpAddress\\": \\"192.168.XX.XX\\",\\n \\"IzNo\\": \\"cn-hangzhou-b\\",\\n \\"EniType\\": \\"indirect\\"\\n },\\n \\"PrivateLinkEnabled\\": true,\\n \\"PrivateLinkMode\\": \\"FullNat\\",\\n \\"EipBindMode\\": \\"MULTI_BINDED\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"KeyTest\\",\\n \\"TagValue\\": \\"valueTest\\"\\n }\\n ]\\n },\\n \\"EnableSessionLog\\": \\"true\\",\\n \\"AccessMode\\": {\\n \\"ModeValue\\": \\"route\\",\\n \\"TunnelType\\": \\"geneve\\"\\n },\\n \\"IpPrefixList\\": {\\n \\"IpPrefixList\\": [\\n {\\n \\"IpPrefix\\": \\"192.168.0.0/28\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n 10\\n 1\\n \\n Creating\\n 2021-06-08T12:20:20Z\\n vpc-bp15zckdt37pq72z****\\n Enhanced\\n false\\n Small\\n true\\n internet\\n false\\n PostPaid\\n cn-hangzhou\\n true\\n true\\n NAT\\n 2021-08-26T16:00Z\\n rg-bp67acfmxazb4ph****\\n ngw-bp1047e2d4z7kf2ki****\\n PayByLcu\\n Normal\\n abc\\n \\n UsedByForwardTable\\n 116.62.XX.XX\\n false\\n eip-m5egzuvp3dgixen6****\\n 192.168.XX.XX\\n \\n ftb-uf6gj3mhsg94qsqst****\\n stb-uf6dalcdu0krz423p****\\n fulltb-gw88z7hhlv43rmb26****\\n \\n vsw-bp1s2laxhdf9ayjbo****\\n eni-m5eg4ozy5st8q3q4****\\n 5120\\n 2000000\\n 100000\\n 192.168.XX.XX\\n cn-hangzhou-b\\n indirect\\n \\n true\\n FullNat\\n MULTI_BINDED\\n \\n KeyTest\\n valueTest\\n \\n \\n","errorExample":""}]', + 'title' => '查询已创建的NAT网关', + 'description' => '本接口支持查询公网NAT网关或VPC NAT网关的详细信息,文中出现的“NAT网关”不做具体的区分。', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetNatGatewayAttribute' => [ + 'summary' => '调用GetNatGatewayAttribute接口查询单个NAT网关实例的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-bp1b0lic8uz4r6vf2****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'NAT网关实例所属VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72z****', + ], + 'CreationTime' => [ + 'description' => 'NAT网关的创建时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2021-12-08T12:20:20Z', + ], + 'Status' => [ + 'description' => 'NAT网关的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。创建NAT网关是异步操作,在创建完成之前是**Creating**状态。'."\n" + .'- **Available**:可用。NAT网关创建完成后的状态,是稳定状态。'."\n" + .'- **Modifying**:修改中。变配NAT网关是异步操作,在变配的过程中是**Modifying**状态。'."\n" + .'- **Deleting**:删除中。删除NAT网关是异步操作,在删除的过程中是**Deleting**状态。'."\n" + .'- **Converting**:转换中。普通型NAT网关转换到增强型NAT网关是异步操作,在转换过程中是**Converting**状态。', + 'type' => 'string', + 'example' => 'Available', + ], + 'NatType' => [ + 'description' => '公网NAT网关的类型,当前取值为**Enhanced**,即增强型NAT网关。', + 'type' => 'string', + 'example' => 'Enhanced', + ], + 'NetworkType' => [ + 'description' => 'NAT网关的类型。取值:'."\n" + ."\n" + .'- **internet**:公网NAT网关。'."\n" + .'- **intranet**:VPC NAT网关。', + 'type' => 'string', + 'example' => 'internet', + ], + 'RegionId' => [ + 'description' => 'NAT网关实例所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + 'EcsMetricEnabled' => [ + 'description' => '是否开启了网关流量监控功能。取值:'."\n" + .'- **true**:开启了网关流量监控功能。'."\n" + .'- **false**:未开启网关流量监控功能。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'Description' => [ + 'description' => 'NAT网关实例的描述。', + 'type' => 'string', + 'example' => 'NAT', + ], + 'ExpiredTime' => [ + 'description' => 'NAT网关实例的过期时间。', + 'type' => 'string', + 'example' => '2021-12-26T12:20:20Z', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'NatGatewayId' => [ + 'description' => 'NAT网关实例的ID。', + 'type' => 'string', + 'example' => 'ngw-bp1047e2d4z7kf2ki****', + ], + 'BusinessStatus' => [ + 'description' => 'NAT网关的业务状态。取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + .'- **FinancialLocked**:欠费锁定状态。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Name' => [ + 'description' => 'NAT网关实例名称。', + 'type' => 'string', + 'example' => 'abc', + ], + 'ForwardTable' => [ + 'description' => 'DNAT列表的信息。', + 'type' => 'object', + 'properties' => [ + 'ForwardTableId' => [ + 'description' => 'DNAT表的ID。', + 'type' => 'string', + 'example' => 'ftb-uf6gj3mhsg94qsqst****', + ], + 'ForwardEntryCount' => [ + 'description' => 'DNAT条目的个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + 'SnatTable' => [ + 'description' => 'SNAT列表信息。', + 'type' => 'object', + 'properties' => [ + 'SnatEntryCount' => [ + 'description' => 'SANT条目的个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SnatTableId' => [ + 'description' => 'SNAT列表的ID。', + 'type' => 'string', + 'example' => 'stb-SnatTableIds****', + ], + ], + ], + 'FullNatTable' => [ + 'description' => 'FULLNAT列表的信息。', + 'type' => 'object', + 'properties' => [ + 'FullNatEntryCount' => [ + 'description' => 'FULLNAT条目的个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'FullNatTableId' => [ + 'description' => 'FULLNAT表的ID。', + 'type' => 'string', + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + ], + ], + 'BillingConfig' => [ + 'description' => '账单配置信息。', + 'type' => 'object', + 'properties' => [ + 'InternetChargeType' => [ + 'description' => 'NAT网关实例的计费类型。取值:'."\n" + ."\n" + .'- **PayBySpec**:按固定规格计费。'."\n" + .'- **PayByLcu**:按使用量计费。', + 'type' => 'string', + 'example' => 'PayBySpec', + ], + 'AutoPay' => [ + 'description' => '是否自动付费,当**InstanceChargeType**参数的值为**PrePaid**时,返回以下值:'."\n" + ."\n" + .'- **false**:不开启自动付费,生成订单后需要到订单中心完成支付。'."\n" + ."\n" + .'- **true**:开启自动付费,自动支付订单。'."\n" + ."\n" + .'当**InstanceChargeType**参数的值为**PostPaid**时,返回值为空。', + 'type' => 'string', + 'example' => 'false', + ], + 'Spec' => [ + 'description' => '公网NAT网关实例的规格,且当**InternetChargeType**为**PayBySpec**时,返回以下值:'."\n" + .'- **Small**:小型。'."\n" + .'- **Middle**:中型。'."\n" + .'- **Large**:大型。'."\n" + .'当**InternetChargeType**为**PayByLcu**时,返回值为空。', + 'type' => 'string', + 'example' => 'Small', + ], + 'InstanceChargeType' => [ + 'description' => 'NAT网关实例的付费模式,取值:'."\n" + ."\n" + .'- **PostPaid**:按量付费。'."\n" + ."\n" + .'- **PrePaid**:包年包月。'."\n" + ."\n" + .'NAT网关实例的付费模式,取值:**PostPaid**(按量付费)。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + ], + ], + 'PrivateInfo' => [ + 'description' => 'NAT网关实例的私网信息。', + 'type' => 'object', + 'properties' => [ + 'MaxBandwidth' => [ + 'description' => '最大带宽值,单位为Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5120', + ], + 'VswitchId' => [ + 'description' => 'NAT网关实例所属的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp1s2laxhdf9ayjbo***', + ], + 'PrivateIpAddress' => [ + 'description' => '私网IP地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'IzNo' => [ + 'description' => 'NAT网关实例所属的可用区。', + 'type' => 'string', + 'example' => 'cn-qingdao-b', + ], + 'EniInstanceId' => [ + 'description' => '弹性网卡实例ID。', + 'type' => 'string', + 'example' => 'eni-bp1cmgtoaka8vfyg****', + ], + ], + ], + 'DeletionProtectionInfo' => [ + 'description' => '删除保护信息。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '是否开启删除保护功能。'."\n" + .'- **true**:开启了删除保护功能。'."\n" + .'- **false**:未开启删除保护功能。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'IpList' => [ + 'description' => '公网NAT网关绑定的弹性公网IP列表。', + 'type' => 'array', + 'items' => [ + 'description' => '公网NAT网关绑定的弹性公网IP列表。', + 'type' => 'object', + 'properties' => [ + 'UsingStatus' => [ + 'description' => '公网NAT网关实例绑定的弹性公网IP的关联关系。'."\n" + ."\n" + .'- **idle**:弹性公网IP未关联SNAT条目或DNAT条目。'."\n" + .'- **UsedBySnatTable**:弹性公网IP已关联SNAT条目。'."\n" + .'- **UsedByForwardTable**:弹性公网IP已关联DNAT条目。', + 'type' => 'string', + 'example' => 'idle', + ], + 'IpAddress' => [ + 'description' => '弹性公网IP的地址。', + 'type' => 'string', + 'example' => '116.33.XX.XX', + ], + 'AllocationId' => [ + 'description' => '弹性公网IP的实例ID。', + 'type' => 'string', + 'example' => 'eip-bp13e9i2qst4g6jzi****', + ], + ], + ], + ], + 'PrivateLinkEnabled' => [ + 'title' => '默认不支持私网链接。设置为1则意味着支持私网链接', + 'description' => '是否支持私网连接,取值:'."\n" + ."\n" + .'- **true**:支持私网连接。'."\n" + .'- **false**:不支持私网连接。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'PrivateLinkMode' => [ + 'title' => 'Fullnat:使用FullNat模式 Geneve:使用Geneve模式。 预估大部分场景都是非Geneve模式的。', + 'description' => '私网连接服务转化模式,取值:'."\n" + ."\n" + .'- **FullNat**:使用FULLNAT模式。'."\n" + .'- **Geneve**:使用Geneve模式。', + 'type' => 'string', + 'example' => 'FullNat', + ], + 'EnableSessionLog' => [ + 'description' => '是否开启会话日志,取值:'."\n" + ."\n" + .'- **true**:已开启会话日志。'."\n" + ."\n" + .'- **false**:已关闭会话日志。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'LogDelivery' => [ + 'description' => '会话日志配置信息。', + 'type' => 'object', + 'properties' => [ + 'LogDeliveryType' => [ + 'description' => '会话日志投递目的类型。取值:'."\n" + .'**sls**,阿里云日志服务SLS。', + 'type' => 'string', + 'example' => 'sls', + ], + 'LogDestination' => [ + 'description' => '会话日志写入目的地址。', + 'type' => 'string', + 'example' => 'acs:log:cn-hangzhou:0000:project/nat_session_log_project/logstore/session_log_test', + ], + 'DeliveryStatus' => [ + 'description' => '会话日志写入状态。取值:'."\n" + ."\n" + .'- **Succsess**:成功。'."\n" + .'- **Failure**:失败。', + 'type' => 'string', + 'example' => 'Failure', + ], + 'DeliverLogsErrorMessage' => [ + 'description' => '会话日志写入失败的错误信息。', + 'type' => 'string', + 'example' => 'LogStoreNotExist: logstore session_log_test does not exist', + ], + ], + ], + 'AccessMode' => [ + 'description' => '反向访问VPC NAT网关的访问模式。', + 'type' => 'object', + 'properties' => [ + 'ModeValue' => [ + 'description' => '访问模式取值:'."\n" + ."\n" + .'- **route**:路由模式。'."\n" + ."\n" + .'- **tunnel**:隧道模式。', + 'type' => 'string', + 'example' => 'route', + ], + 'TunnelType' => [ + 'description' => '隧道模式类型:'."\n" + ."\n" + .'- **geneve**: Geneve类型。', + 'type' => 'string', + 'example' => 'geneve', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72z****\\",\\n \\"CreationTime\\": \\"2021-12-08T12:20:20Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"NatType\\": \\"Enhanced\\",\\n \\"NetworkType\\": \\"internet\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"EcsMetricEnabled\\": true,\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"Description\\": \\"NAT\\",\\n \\"ExpiredTime\\": \\"2021-12-26T12:20:20Z\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"NatGatewayId\\": \\"ngw-bp1047e2d4z7kf2ki****\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Name\\": \\"abc\\",\\n \\"ForwardTable\\": {\\n \\"ForwardTableId\\": \\"ftb-uf6gj3mhsg94qsqst****\\",\\n \\"ForwardEntryCount\\": 1\\n },\\n \\"SnatTable\\": {\\n \\"SnatEntryCount\\": 1,\\n \\"SnatTableId\\": \\"stb-SnatTableIds****\\"\\n },\\n \\"FullNatTable\\": {\\n \\"FullNatEntryCount\\": 1,\\n \\"FullNatTableId\\": \\"fulltb-gw88z7hhlv43rmb26****\\"\\n },\\n \\"BillingConfig\\": {\\n \\"InternetChargeType\\": \\"PayBySpec\\",\\n \\"AutoPay\\": \\"false\\",\\n \\"Spec\\": \\"Small\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\"\\n },\\n \\"PrivateInfo\\": {\\n \\"MaxBandwidth\\": 5120,\\n \\"VswitchId\\": \\"vsw-bp1s2laxhdf9ayjbo***\\",\\n \\"PrivateIpAddress\\": \\"192.168.XX.XX\\",\\n \\"IzNo\\": \\"cn-qingdao-b\\",\\n \\"EniInstanceId\\": \\"eni-bp1cmgtoaka8vfyg****\\"\\n },\\n \\"DeletionProtectionInfo\\": {\\n \\"Enabled\\": true\\n },\\n \\"IpList\\": [\\n {\\n \\"UsingStatus\\": \\"idle\\",\\n \\"IpAddress\\": \\"116.33.XX.XX\\",\\n \\"AllocationId\\": \\"eip-bp13e9i2qst4g6jzi****\\"\\n }\\n ],\\n \\"PrivateLinkEnabled\\": true,\\n \\"PrivateLinkMode\\": \\"FullNat\\",\\n \\"EnableSessionLog\\": true,\\n \\"LogDelivery\\": {\\n \\"LogDeliveryType\\": \\"sls\\",\\n \\"LogDestination\\": \\"acs:log:cn-hangzhou:0000:project/nat_session_log_project/logstore/session_log_test\\",\\n \\"DeliveryStatus\\": \\"Failure\\",\\n \\"DeliverLogsErrorMessage\\": \\"LogStoreNotExist: logstore session_log_test does not exist\\"\\n },\\n \\"AccessMode\\": {\\n \\"ModeValue\\": \\"route\\",\\n \\"TunnelType\\": \\"geneve\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n vpc-bp15zckdt37pq72z****\\n 2021-12-08T12:20:20Z\\n Available\\n Enhanced\\n internet\\n cn-qingdao\\n true\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n NAT\\n 2021-12-26T12:20:20Z\\n rg-bp67acfmxazb4ph****\\n ngw-bp1047e2d4z7kf2ki****\\n Normal\\n abc\\n \\n ftb-uf6gj3mhsg94qsqst****\\n 1\\n \\n \\n 1\\n stb-SnatTableIds****\\n \\n \\n 1\\n fulltb-gw88z7hhlv43rmb26****\\n \\n \\n PayBySpec\\n false\\n Small\\n PostPaid\\n \\n \\n 5120\\n vsw-bp1s2laxhdf9ayjbo***\\n 192.168.XX.XX\\n cn-qingdao-b\\n eni-bp1cmgtoaka8vfyg****\\n \\n \\n true\\n \\n \\n idle\\n 116.33.XX.XX\\n eip-bp13e9i2qst4g6jzi****\\n \\n true\\n FullNat\\n","errorExample":""}]', + 'title' => '查看单个NAT网关实例详细信息', + 'description' => '本接口可以查询单个公网NAT网关或VPC NAT网关的信息,文中出现的“NAT网关”不做具体的区分。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListEnhanhcedNatGatewayAvailableZones' => [ + 'summary' => '调用ListEnhanhcedNatGatewayAvailableZones接口查询NAT网关的资源可用区。', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n" + .'本示例查询阿联酋(迪拜)地域NAT网关资源的可用区。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'me-east-1', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '返回结果显示的语言。取值:'."\n" + ."\n" + .'- **zh-CN**(默认值):中文。'."\n" + .'- **en-US**:英文。', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + 'default' => 'zh-CN', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n" + .'本示例查询阿联酋(迪拜)地域NAT网关资源的可用区。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'me-east-1', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'flat', + 'schema' => [ + 'description' => '过滤信息,支持传入键值对查询结果进行过滤。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件。目前仅支持对**PrivateLinkEnabled**进行过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrivateLinkEnabled', + ], + 'Value' => [ + 'description' => '过滤条件对应的过滤值。'."\n" + ."\n" + .'> 当过滤条件为**PrivateLinkEnabled**时,需要配置过滤值。 取值为**true**或**false**。', + 'type' => 'string', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '结果信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8AE6F367-52EA-535D-9A3D-EF23D70527C8', + ], + 'Zones' => [ + 'description' => '可用区集合。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区集合。', + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'me-east-1a', + ], + 'LocalName' => [ + 'description' => '可用区名称。', + 'type' => 'string', + 'example' => '中东1 可用区A', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8AE6F367-52EA-535D-9A3D-EF23D70527C8\\",\\n \\"Zones\\": [\\n {\\n \\"ZoneId\\": \\"me-east-1a\\",\\n \\"LocalName\\": \\"中东1 可用区A\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 8AE6F367-52EA-535D-9A3D-EF23D70527C8\\n \\n me-east-1a\\n 中东1 可用区A\\n \\n","errorExample":""}]', + 'title' => '查询增强型NAT网关的资源可用区', + 'description' => '本接口查询公网NAT网关或VPC NAT网关的资源可用区,文中出现的“NAT网关”不做具体的区分。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateNatGatewayNatType' => [ + 'summary' => '将普通型NAT网关切换为增强型NAT网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要升级的普通型公网NAT网关所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要升级的普通型公网NAT网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-bp1b0lic8uz4r6vf2****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '升级后增强型公网NAT网关所属的交换机。'."\n" + ."\n" + .'>如果不设置该参数,系统会随机将增强型公网NAT网关创建在VPC内的任意一台交换机。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-bp17nszybg8epodke****', + ], + ], + [ + 'name' => 'NatType', + 'in' => 'query', + 'schema' => [ + 'description' => '公网NAT网关类型。取值:**Enhanced**,表示增强型公网NAT网关。'."\n" + ."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Enhanced', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'**true**:发送请求,不会升级公网NAT网关类型。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'**false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并直接升级公网NAT网关类型。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要升级的普通型公网NAT网关所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationUnsupported.NatConvert', + 'errorMessage' => 'The NAT gateway conversion function is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.VpcNotExist', + 'errorMessage' => 'The specified VPC does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.VswNotExist', + 'errorMessage' => 'The specified VSwitch does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.NatTypeNotEnhanced', + 'errorMessage' => 'Operation failed because the specified NAT gateway type is not enhanced.', + ], + [ + 'errorCode' => 'OperationFailed.NatGwBindWithBandwidthPackage', + 'errorMessage' => 'Operation failed because the NAT gateway is bound to bandwidth packages.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => 'The status of NAT gateway is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.EipInMiddleStatus', + 'errorMessage' => 'Operation failed because the status of EIP associated with the specified NAT gateway is abnormal.', + ], + [ + 'errorCode' => 'OperationFailed.SnatInMiddleStatus', + 'errorMessage' => 'Operation failed because the status of the SNAT entry of the specified NAT gateway is abnormal.', + ], + [ + 'errorCode' => 'OperationFailed.DnatInMiddleStatus', + 'errorMessage' => 'Operation failed because the status of the DNAT entry associated with the NAT gateway is abnormal.', + ], + [ + 'errorCode' => 'OperationFailed.NatGwRouteInMiddleStatus', + 'errorMessage' => 'Operation failed because the status of the route entry associated with the NAT gateway is abnormal.', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedInventoryNotEnough', + 'errorMessage' => 'The enhanced NAT gateway inventory is insufficient in the specified zone.', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedUserIsUnAuthorized', + 'errorMessage' => 'Operation failed because the user is not authorized to create an enhanced NAT gateway.', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedRegion', + 'errorMessage' => 'Operation failed because enhanced NAT gateways are not available for sale in the specified region.', + ], + [ + 'errorCode' => 'OperationFailed.EnhancedQuotaExceed', + 'errorMessage' => 'Operation failed because the maximum number of enhanced NAT gateways in the same VPC is exceeded.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageIdNumber.NotSupported', + 'errorMessage' => 'The number of BandwidthPackageIds exceeds the limit.', + ], + [ + 'errorCode' => 'OperationFailed.VswNotBelongToVpc', + 'errorMessage' => 'Operation failed because the specified VSwitch is not bound to the same VPC with NAT gateway.', + ], + [ + 'errorCode' => 'OperationUnsupported.VpcAttachedCen', + 'errorMessage' => 'Operation failed because the VPC is attached to CEN.', + ], + [ + 'errorCode' => 'OperationUnsupported.RouterInterfaceExist', + 'errorMessage' => 'Operation failed because the VPC has a router interface.', + ], + [ + 'errorCode' => 'OperationFailed.VRouterNotExist', + 'errorMessage' => 'Operation failed because the VRouter does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.SnatQuotaExceed', + 'errorMessage' => 'Operation failed because the maximum number of SNAT entry is exceeded.', + ], + [ + 'errorCode' => 'OperationFailed.DnatQuotaExceed', + 'errorMessage' => 'Operation failed because the maximum number of forward entry is exceeded.', + ], + [ + 'errorCode' => 'OperationFailed.VswBindedRouteTable', + 'errorMessage' => 'The operation failed because a custom route table that contains subnet routes is associated with the specified VSwitch.', + ], + [ + 'errorCode' => 'OperationFailed.VswBindedAcl', + 'errorMessage' => 'The operation failed because a network ACL is associated with the specified VSwitch.', + ], + [ + 'errorCode' => 'Forbidden.Convert', + 'errorMessage' => 'User does not have permission to operate.', + ], + [ + 'errorCode' => 'NATGW_NOT_EXIST', + 'errorMessage' => 'The specified NAT gateway does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '将普通型NAT网关切换为增强型', + 'description' => '## 使用说明'."\n" + ."\n" + .'调用UpdateNatGatewayNatType接口前,请先了解以下内容:'."\n" + ."\n" + .'- **UpdateNatGatewayNatType**接口属于异步接口,即系统会先返回一个请求ID,但NAT网关的网关类型并未升级完成,系统后台的升级任务仍在进行。您可以调用GetNatGatewayConvertStatus查询NAT网关的升级状态,更多信息,请参见[GetNatGatewayConvertStatus](~~184744~~)。'."\n" + ."\n" + .' - 当NAT网关的升级状态处于**processing**时,表示正在升级中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当NAT网关的升级状态处于**successful**时,表示NAT网关的网关类型升级完成。'."\n" + ."\n" + .' - 当NAT网关的升级状态处于**failed**时,表示NAT网关的网关类型升级失败。'."\n" + ."\n" + .'- **UpdateNatGatewayNatType**接口在同一个NAT网关中不支持并发升级NAT网关的网关类型。'."\n" + ."\n" + .'- 增强型NAT网关与普通型NAT网关的计费相同,升级过程和升级后计费方式不会改变。'."\n" + ."\n" + .'- 每个资源升级过程可能会持续5分钟,升级过程中会出现1~2次秒级闪断,业务重连即可恢复。重连机制为自动重连还是手动重连由业务本身决定。'."\n" + ."\n" + .'- 仅支持将普通型NAT网关升级至增强型NAT网关,不支持将增强型NAT网关降级至普通型NAT网关。'."\n" + ."\n\n" + ."\n\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeNatGatewayAssociateNetworkInterfaces' => [ + 'summary' => 'VPC NAT网关作为服务资源对象被私网连接服务引用场景下,查询VPC NAT关联的弹性网卡列表,目前该特性暂不开放使用。', + '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' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazdjdhd****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '实例的标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '过滤信息,支持传入键值对查询结果进行过滤。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '入参中的Filter Key的取值:'."\n" + ."\n" + .'- ResourceId'."\n" + .'>Value中需要填入需要查询的服务资源ID。'."\n" + .'- NetworkInterfaceId'."\n" + .'>Value中需要填入需要查询的弹性网卡ID。'."\n" + .'- ResourceOwnerId'."\n" + .'>Value中需要填入需要查询的服务资源归属的用户UID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ResourceId', + ], + 'Value' => [ + 'description' => 'Value支持传入多个值,逗号隔开', + 'type' => 'string', + 'required' => false, + 'example' => 'ep-8psre8c8936596cd****', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次 API 调用返回的 **NextToken** 值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1~100**,默认值为 **20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD****', + ], + 'NextToken' => [ + 'description' => '是否拥有下一个查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果 **NextToken** 为空表示没有下一次查询。'."\n" + ."\n" + .'- 如果 **NextToken** 有返回值,该取值表示下一个查询开始的令牌。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1~100**,默认值为 **20**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'NatGatewayId' => [ + 'description' => 'VPC NAT 网关的实例 ID。', + 'type' => 'string', + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + 'TotalCount' => [ + 'description' => '总记录数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'AssociateNetworkInterfaces' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AssociateNetworkInterface' => [ + 'description' => 'VPC NAT网关关联的弹性网卡列表。', + 'type' => 'array', + 'items' => [ + 'description' => '关联弹性网卡信息详情。', + 'type' => 'object', + 'properties' => [ + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡 ID。', + 'type' => 'string', + 'example' => 'eni-gw8g131ef2dnbu3k****', + ], + 'ResourceId' => [ + 'description' => '服务资源 ID。', + 'type' => 'string', + 'example' => 'ep-8psre8c8936596cd****', + ], + 'ResourceType' => [ + 'description' => '服务资源类型。', + 'type' => 'string', + 'example' => 'PrivateLink', + ], + 'ResourceOwnerId' => [ + 'description' => '服务资源归属的用户UID。', + 'type' => 'string', + 'example' => '138859086900****', + ], + 'IPv4Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IPv4Set' => [ + 'description' => '弹性网卡的IPv4地址集合。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡IPv4地址信息。', + 'type' => 'object', + 'properties' => [ + 'IPv4Address' => [ + 'description' => '弹性网卡的私网 IP 地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'Primary' => [ + 'description' => '是否是主私网 IP 地址。可能值:'."\n" + ."\n" + .'- true:主私网 IP'."\n" + ."\n" + .'- false:辅助私网 IP', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + 'TunnelIndex' => [ + 'description' => '隧道索引 ID。', + 'type' => 'string', + 'example' => '41a5489ea2a0****', + ], + 'ResourceVpcId' => [ + 'description' => '服务资源VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp1di7uewzmtvfuq8****', + ], + ], + ], + ], + ], + ], + 'Count' => [ + 'description' => '关联网卡个数', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InstanceNotExist.NatGatewayId', + 'errorMessage' => 'The NAT gateway instance is not exist.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceOwnerId', + 'errorMessage' => 'The param of resource owner ID is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"MaxResults\\": 20,\\n \\"NatGatewayId\\": \\"ngw-bp1uewa15k4iy5770****\\",\\n \\"TotalCount\\": 1,\\n \\"AssociateNetworkInterfaces\\": {\\n \\"AssociateNetworkInterface\\": [\\n {\\n \\"NetworkInterfaceId\\": \\"eni-gw8g131ef2dnbu3k****\\",\\n \\"ResourceId\\": \\"ep-8psre8c8936596cd****\\",\\n \\"ResourceType\\": \\"PrivateLink\\",\\n \\"ResourceOwnerId\\": \\"138859086900****\\",\\n \\"IPv4Sets\\": {\\n \\"IPv4Set\\": [\\n {\\n \\"IPv4Address\\": \\"172.17.**.**\\",\\n \\"Primary\\": true\\n }\\n ]\\n },\\n \\"TunnelIndex\\": \\"41a5489ea2a0****\\",\\n \\"ResourceVpcId\\": \\"vpc-bp1di7uewzmtvfuq8****\\"\\n }\\n ]\\n },\\n \\"Count\\": 0\\n}","type":"json"}]', + 'title' => '查询VPC NAT关联的弹性网卡列表', + ], + 'VpcDescribeVpcNatGatewayNetworkInterfaceQuota' => [ + 'summary' => '调用VpcDescribeVpcNatGatewayNetworkInterfaceQuota接口查询反向访问VPC NAT当前可以创建的EP个数。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceUid', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '132193271328****', + ], + ], + [ + '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' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'title' => '查询NAT网关关联的ENI实例信息', + 'description' => '要查询的VPC NAT网关的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的VPC NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', + ], + 'Quota' => [ + 'title' => '分页大小', + 'description' => '表示能创建的EP的个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.PrivateLinkNotEnabled', + 'errorMessage' => 'The NAT gateway is not enable for private link.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The NatGateway instance not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"Quota\\": 2\\n}","errorExample":""},{"type":"xml","example":"\\n 611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\n 2\\n","errorExample":""}]', + 'title' => '查询反向访问VPC NAT当前可以创建的EP个数', + 'description' => '在调用该接口前,请确保您已经创建了一个VPC NAT网关实例。具体操作,请参见 [CreateNatGateway](~~2522320~~)。', + ], + 'CreateSnatEntry' => [ + 'summary' => '调用CreateSnatEntry接口在SNAT列表中添加SNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37638', + 'abilityTreeNodes' => [ + 'FEATUREvpcK3NXU2', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'enumValueTitles' => [ + 'ap-northeast-2-pop' => 'ap-northeast-2-pop', + ], + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnatTableId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT表的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'stb-bp190wu8io1vgev****', + ], + ], + [ + 'name' => 'SourceVSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机的ID。'."\n" + ."\n" + .'* 当为公网NAT网关添加SNAT条目时,该参数表示该交换机内的ECS实例均可以通过SNAT规则访问公网。指定多个EIP配置SNAT IP地址池时,业务连接会通过哈希算法分配到多个EIP,由于每个连接的流量不同,可能会出现多EIP业务流量不均匀的情况,建议您将每个EIP都加入到同一个共享带宽中以避免单EIP带宽达到上限导致业务受损。'."\n" + ."\n" + .'* 当为VPC NAT网关添加SNAT条目时,该参数表示该交换机内的ECS实例均可以通过SNAT规则访问外部网络。'."\n" + ."\n" + .'> 参数**SourceCIDR**和参数**SourceVSwtichId**必须输入一个且不能都输入。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1nhx2s9ui5o****', + ], + ], + [ + 'name' => 'SourceCIDR', + 'in' => 'query', + 'schema' => [ + 'description' => '输入VPC、交换机或ECS实例的网段,还可以输入任意网段。'."\n" + ."\n" + .'SNAT条目有以下几种粒度: '."\n" + ."\n" + .'- VPC粒度:NAT网关所在VPC的网段,该VPC下的所有ECS实例均可以通过SNAT规则访问互联网或者外部网络。'."\n" + ."\n" + .'- 交换机粒度:指定交换机的网段(如192.168.1.0/24),该交换机下的ECS实例均可以通过SNAT规则访问互联网或者外部网络。'."\n" + ."\n" + .'- ECS粒度:指定ECS实例的地址(如192.168.1.1/32),该ECS实例可以通过SNAT规则访问互联网或者外部网络。'."\n" + ."\n" + .'- 输入任意网段,该网段下的所有ECS实例均可以通过SNAT服务访问互联网或者外部网络。'."\n" + ."\n" + .'> 参数**SourceCIDR**和参数**SourceVSwtichId**必须输入一个且不能都输入。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.1.0/24', + ], + ], + [ + 'name' => 'SnatIp', + 'in' => 'query', + 'schema' => [ + 'description' => '为公网NAT网关添加SNAT条目时 :'."\n" + .'* 参数SnatIp必填。'."\n" + ."\n" + .'* 该参数为SNAT条目中的EIP,多个EIP之间用半角逗号(,)隔开。'."\n" + ."\n" + .'* 如果 SnatIp 仅指定了一个公网 IP,ECS 实例使用指定的公网 IP 访问互联网。'."\n" + ."\n" + .'* 如果 SnatIp 指定了多个公网 IP,ECS 实例随机使用 SnatIp 中的公网 IP 访问互联网。'."\n" + ."\n" + .'>指定多个EIP配置SNAT IP地址池时,业务连接会通过哈希算法分配到多个EIP,由于每个连接的流量不同,可能会出现多EIP业务流量不均匀的情况,建议您将每个EIP都加入到同一个共享带宽中以避免单EIP带宽达到上限导致业务受损。'."\n" + ."\n" + .'为VPC NAT网关添加SNAT条目时:'."\n" + ."\n" + .'* 该参数为SNAT条目中的NAT IP地址,多个NAT IP地址之间用半角逗号(,)隔开。'."\n" + ."\n" + .'* 参数 SnatIp 和参数 NetworkInterfaceId 必须输入一个且不能都输入。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '47.98.XX.XX', + ], + ], + [ + 'name' => 'SnatEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT条目的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以大小写字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'SnatEntry-1', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符。'."\n" + ."\n" + .'>若您未指定,则系统自动使用API请求的**Requestld**作为**ClientToken**标识。每次API请求的**Requestld**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44****', + ], + ], + [ + 'name' => 'EipAffinity', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '是否打开IP亲和性。取值:'."\n" + ."\n" + .'- **0**(默认值):关闭IP亲和性。'."\n" + ."\n" + .'- **1**:打开IP亲和性。'."\n" + ."\n" + .'> 打开IP亲和性开关后,如果SNAT条目绑定多个EIP或NAT IP,同一个客户端访问同一目的IP时将使用相同的EIP或NAT IP进行访问,否则客户端将从绑定的EIP或NAT IP中随机选取进行访问。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '弹性网卡ID。'."\n" + ."\n" + .'> 会将弹性网卡的IPv4地址集作为SNAT地址。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-gw8g131ef2dnbu3k****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建SNAT条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并创建SNAT条目。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'SNAT条目ID。', + 'type' => 'object', + 'properties' => [ + 'SnatEntryId' => [ + 'description' => 'SNAT条目ID。', + 'type' => 'string', + 'example' => 'snat-kmd6nv8fy****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedFeature.PrivateLinkEnabled', + 'errorMessage' => 'The feature of PrivateLinkEnabled is not supported.', + ], + [ + 'errorCode' => 'InvalidSourceCIDR.Malformed', + 'errorMessage' => 'SourceCIDR is illegal.', + ], + [ + 'errorCode' => 'NOT_ALLOW_USE_SOURCECIDR_OUTSIDEVPC', + 'errorMessage' => 'The User not in sourcecidr_unlimited_outsidevpc white list. Cannot use SourceCidr outside VpcCidr.', + ], + [ + 'errorCode' => 'NOT_ALLOW_USE_SOURCECIDR_AUTODEFINE', + 'errorMessage' => 'The User not in sourcecidr_unlimited_insidevpc white list. Cannot use SourceCidr auto defined.', + ], + [ + 'errorCode' => 'NOT_ALLOW_USE_SOURCECIDR_CONTAINSZERO', + 'errorMessage' => 'The User not in sourcecidr_unlimited_outsidevpc_containszero white list. Cannot use SourceCidr outside VpcCidr.', + ], + [ + 'errorCode' => 'Forbidden.IpHasBeenUsedInDnat', + 'errorMessage' => 'The snat ip can\'t be used. Because it has been used in dnat', + ], + [ + 'errorCode' => 'Forbidden.SourceVSwitchId.IncludeHaVip', + 'errorMessage' => 'There is some HaVips under specified VSwitch', + ], + [ + 'errorCode' => 'InvalidSnatIp.Malformed', + 'errorMessage' => 'The specified SnatIp is not a valid IP address.', + ], + [ + 'errorCode' => 'SNAT_IP_POOL_COUNT_TOO_MANY', + 'errorMessage' => 'The Snat pool ip too many.', + ], + [ + 'errorCode' => 'Forbidden.SnatEntryCountLimited', + 'errorMessage' => 'SNAT entry in the specified SNAT table reach its limit.', + ], + [ + 'errorCode' => 'NOT_ALLOW_USE_SOURCECIDR', + 'errorMessage' => 'The User not in nat_scope_unlimited white list. Cannot use SourceCidr param.', + ], + [ + 'errorCode' => 'INVALID_PARAMETER', + 'errorMessage' => 'The parameter invalid.', + ], + [ + 'errorCode' => 'Forbidden.SourceVSwitchId.Duplicated', + 'errorMessage' => 'The specified SourceCIDRis duplicated.', + ], + [ + 'errorCode' => 'Forbidden.IpUsedInForwardTable', + 'errorMessage' => 'The specified SnatIp already used in forward table', + ], + [ + 'errorCode' => 'Forbindden', + 'errorMessage' => 'The specified Instance already bind eip', + ], + [ + 'errorCode' => 'EIP_NOT_SUPPORT_SNAT_POOL', + 'errorMessage' => 'The Eip cannot support snat pool', + ], + [ + 'errorCode' => 'EIP_NOT_IN_GATEWAY', + 'errorMessage' => 'The Eip not in nat gateway', + ], + [ + 'errorCode' => 'OperationUnsupported.CidrConflict', + 'errorMessage' => 'The specified CIDR block conflicts with an existing SNAT entry.', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'The NatGateway instance not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.SnatIp', + 'errorMessage' => 'Ip semgment must be subnet cidr.', + ], + [ + 'errorCode' => 'QuotaExceeded.SnatIp', + 'errorMessage' => 'Public ip number exceeds quota.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipInBinding', + 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.VSwitchNotInVpc', + 'errorMessage' => 'The specified vswitch and natgateway are not in the same vpc.', + ], + [ + 'errorCode' => 'QuotaExceeded.SnatEntry', + 'errorMessage' => 'SNAT entry in the specified SNAT table reach it?s limit.', + ], + [ + 'errorCode' => 'IncorrectStatus.NATGW', + 'errorMessage' => 'NATGW status is invalid.', + ], + [ + 'errorCode' => 'IncorrectStatus.VSwitch', + 'errorMessage' => 'The specified vSwitch status is invalid.', + ], + [ + 'errorCode' => 'MissingParam.SnatIp', + 'errorMessage' => 'The input parameter SnatIp that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParam.NetworkInterfaceId', + 'errorMessage' => 'The input parameter NetworkInterfaceId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'ParamExclusive.SnatIpAndNetworkInterfaceId', + 'errorMessage' => 'SnatIp and NetworkInterfaceId is mutually exclusive when create a snat entry for nat.', + ], + [ + 'errorCode' => 'IllegalParam.NetworkInterfaceId', + 'errorMessage' => 'The param of NetworkInterfaceId is illegal.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipNatBWPCheck', + 'errorMessage' => 'The EIP is not associated with a NAT service plan.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipNatGWCheck', + 'errorMessage' => 'The operation failed because the EIP is not bound to this NAT Gateway.', + ], + [ + 'errorCode' => 'OperationFailed.SnatIpPoolCbwpRules', + 'errorMessage' => 'The operation failed because the SNAT rule IPs are added to multi bandwidth packages.', + ], + [ + 'errorCode' => 'IncorrectStatus.SnatEntry', + 'errorMessage' => 'The SNAT rule status is invalid. Please try again later.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'NatIp status is invalid, please try again later.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipNatIpCheck', + 'errorMessage' => 'The operation failed because the EIP is not bound to this NAT gateway.', + ], + [ + 'errorCode' => 'OperationFailed.SnatIpPoolBwpRules', + 'errorMessage' => 'The operation failed because the IP in Snat entryl was added to multiple NAT bandwidth packets.', + ], + [ + 'errorCode' => 'OperationFailed.SnatIpsCheck', + 'errorMessage' => 'The operation fails because some IPs address in the SNAT entry are not added to common bandwidth packet.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSnatTableId.NotFound', + 'errorMessage' => 'Specified SNAT table does not exist.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified virtual switch does not exists.', + ], + [ + 'errorCode' => 'InvalidSnatIp.NotFound', + 'errorMessage' => 'Specified SnatIp does not found on the NAT Gateway', + ], + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The NatGateway instance not exist.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The NatIp instance not exist.', + ], + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'DefaultValidate.Error', + 'errorMessage' => 'validte fail.', + ], + [ + 'errorCode' => 'OperationFailed.CrateSnatEntryTimeOut', + 'errorMessage' => 'Operation failed because create snatEntry timeout.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SnatEntryId\\": \\"snat-kmd6nv8fy****\\",\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n snat-kmd6nv8fy****\\n 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\n","errorExample":""}]', + 'title' => '在SNAT列表中添加SNAT条目', + 'description' => '本接口可以为增强型公网NAT网关和VPC NAT网关添加SNAT条目,文中出现的**NAT网关**不做具体的区分。'."\n" + ."\n" + .'调用本接口添加SNAT条目时,请了解以下内容:'."\n" + ."\n" + .'- **CreateSnatEntry**接口属于异步接口,即系统会先返回一个SNAT条目ID,但该SNAT条目并未添加完成,系统后台的添加任务仍在进行。您可以调用[DescribeSnatTableEntries](~~42677~~)查询SNAT条目的状态:'."\n" + ."\n" + .' - 当SNAT条目处于**Pending**状态时,表示SNAT条目正在添加中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当SNAT条目处于**Available**状态时,表示SNAT条目添加完成。'."\n" + ."\n" + .'- SNAT条目中指定的交换机和ECS实例必须在NAT网关所属的VPC内。'."\n" + ."\n" + .'- 每个交换机和ECS实例只能属于一个SNAT条目。'."\n" + .' '."\n" + .'- 如果交换机中存在高可用虚拟IP实例,则无法添加SNAT条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteSnatEntry' => [ + 'summary' => '调用DeleteSnatEntry接口删除指定的SNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnatTableId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT条目所属的SNAT表的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'stb-bp190wu8io1vgev80****', + ], + ], + [ + 'name' => 'SnatEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的SNAT条目的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'snat-bp1vcgcf8tm0plqcg****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorretSnatEntryStatus', + 'errorMessage' => 'Some Snat entry status blocked this operation..', + ], + [ + 'errorCode' => 'IncorrectStatus.SnatEntry', + 'errorMessage' => 'The Specified SnatEntry is not stable status, can not operation', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSnatEntryId.NotFound', + 'errorMessage' => 'Specified Snat entry ID does not exist', + ], + [ + 'errorCode' => 'InvalidSnatTableId.NotFound', + 'errorMessage' => 'Specified SNAT table does not exist.', + ], + [ + 'errorCode' => 'ResourceNotFound.SnatEntry', + 'errorMessage' => 'Specified SNAT entry does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '删除指定的SNAT条目', + 'description' => '**DeleteSnatEntry**接口属于异步接口,即系统会先返回一个请求ID,但SNAT条目并未删除完成,系统后台的删除任务仍在进行。您可以调用[DescribeSnatTableEntries](~~42677~~)查询SNAT条目的状态:'."\n" + ."\n" + .'- 当SNAT条目处于**Deleting**状态时,表示SNAT条目正在删除中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当返回的SNAT条目列表为空时,表示SNAT条目删除完成。'."\n" + ."\n" + .'如果SNAT表中有SNAT条目的状态为**Pending**时,无法删除该SNAT表中的SNAT条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySnatEntry' => [ + 'summary' => '调用ModifySnatEntry接口修改指定的SNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnatTableId', + 'in' => 'query', + 'schema' => [ + 'description' => ' SNAT条目所在的SNAT表的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'stb-8vbczigrhop8x5u3t****', + ], + ], + [ + 'name' => 'SnatEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 要修改的SNAT条目的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'snat-bp1vcgcf8tm0plqcg****', + ], + ], + [ + 'name' => 'SnatIp', + 'in' => 'query', + 'schema' => [ + 'description' => '- 为公网NAT网关修改SNAT条目时,该参数为SNAT条目中的EIP,多个EIP之间用半角逗号(,)隔开。'."\n" + .' '."\n" + .'> 指定多个EIP配置SNAT IP地址池时,业务连接会通过哈希算法分配到多个EIP,由于每个连接的流量不同,可能会出现多EIP业务流量不均匀的情况,建议您将每个EIP都加入到同一个共享带宽中以避免单EIP带宽达到上限导致业务受损。'."\n" + ."\n" + .'- 为VPC NAT网关修改SNAT条目时,该参数为SNAT条目中的NAT IP地址,多个NAT IP地址之间用半角逗号(,)隔开。'."\n" + ."\n" + .'- 参数 SnatIp 和参数 NetworkInterfaceId 不能都输入。', + 'type' => 'string', + 'required' => false, + 'example' => '47.98.XX.XX', + ], + ], + [ + 'name' => 'SnatEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT条目的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'SnatEntry-1', + ], + ], + [ + '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' => 'EipAffinity', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '是否打开IP亲和性。取值:'."\n" + ."\n" + .'- **0**:关闭IP亲和性。'."\n" + ."\n" + .'- **1**:打开IP亲和性。'."\n" + ."\n" + .'> 打开IP亲和性开关后,如果SNAT条目绑定多个EIP或NAT IP,同一个客户端将使用相同的EIP或NAT IP进行访问,否则客户端将从绑定的EIP或NAT IP中随机选取进行访问。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '弹性网卡ID。'."\n" + ."\n" + .'> 会将弹性网卡的 IPv4 地址集作为 SNAT 地址。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-gw8g131ef2dnbu3k****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改SNAT条目。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并修改SNAT条目。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的响应体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSnatIp.Malformed', + 'errorMessage' => 'The specified SnatIp is not a valid IP address.', + ], + [ + 'errorCode' => 'Forbidden.SourceVSwitchId.Duplicated', + 'errorMessage' => 'The specified SourceCIDRis duplicated.', + ], + [ + 'errorCode' => 'Forbidden.IpUsedInForwardTable', + 'errorMessage' => 'The specified SnatIp already used in forward table', + ], + [ + 'errorCode' => 'OperationUnsupported.EipForSnatPool', + 'errorMessage' => 'The Eip cannot support snat pool', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'IncorretSnatEntryStatus', + 'errorMessage' => 'The Specified SnatEntry is not stable status, can not operation', + ], + [ + 'errorCode' => 'EIP_NOT_IN_GATEWAY', + 'errorMessage' => 'The Eip not in nat gateway', + ], + [ + 'errorCode' => 'InvalidParameter.SnatIp', + 'errorMessage' => 'Error public ip must in same bandwidth package.', + ], + [ + 'errorCode' => 'QuotaExceeded.SnatIp', + 'errorMessage' => 'Public ip number exceeds quota.', + ], + [ + 'errorCode' => 'InvalidSnatEntryId.NotFound', + 'errorMessage' => 'Specified SNAT entry does not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.SnatEntry', + 'errorMessage' => 'The Specified SnatEntry is not stable status, can not operation', + ], + [ + 'errorCode' => 'OperationFailed.CanNotUseEipInDnat', + 'errorMessage' => 'Operation failed because the eip can not used by forward entry.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipNatGWCheck', + 'errorMessage' => 'Operation unsupported because the relation check of eip and nat gateway is failed.', + ], + [ + 'errorCode' => 'ResourceNotFound.SnatEntry', + 'errorMessage' => 'Specified SNAT entry does not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'Specified NatIp does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.CanNotUseNatIpInDnat', + 'errorMessage' => 'Operation failed because the NatIp can not used by forward entry.', + ], + [ + 'errorCode' => 'IncorrectStatus.NATGW', + 'errorMessage' => 'NATGW status is invalid.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipInBinding', + 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipNatBWPCheck', + 'errorMessage' => 'The EIP is not associated with a NAT service plan.', + ], + [ + 'errorCode' => 'IllegalParam.NetworkInterfaceId', + 'errorMessage' => 'The param of NetworkInterfaceId is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.SnatIpPoolBwpRules', + 'errorMessage' => 'The operation failed because the IP in Snat entryl was added to multiple NAT bandwidth packets.', + ], + [ + 'errorCode' => 'OperationFailed.SnatIpPoolCbwpRules', + 'errorMessage' => 'The operation failed because the SNAT rule IPs are added to multi bandwidth packages.', + ], + [ + 'errorCode' => 'OperationFailed.SnatIpsTooMany', + 'errorMessage' => 'The maximum number of IP addresses is exceeded in the SNAT pool.', + ], + [ + 'errorCode' => 'OperationFailed.SnatIpsCheck', + 'errorMessage' => 'The operation fails because some IPs address in the SNAT entry are not added to common bandwidth packet.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSnatTableId.NotFound', + 'errorMessage' => 'Specified SNAT table does not exist.', + ], + [ + 'errorCode' => 'InvalidSnatEntryId.NotFound', + 'errorMessage' => 'Specified SNAT entry does not exist.', + ], + [ + 'errorCode' => 'InvalidSnatIp.NotFound', + 'errorMessage' => 'Specified SnatIp does not found on the NAT Gateway', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'Specified NatIp does not found on the NAT Gateway', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\n","errorExample":""}]', + 'title' => '修改指定的SNAT条目', + 'description' => '**ModifySnatEntry**接口属于异步接口,即系统会先返回一个请求ID,但SNAT条目并未修改完成,系统后台的修改任务仍在进行。您可以调用[DescribeSnatTableEntries](~~42677~~)查询SNAT条目的状态:'."\n" + ."\n" + .'- 当SNAT条目处于**Pending**状态时,表示SNAT条目正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当SNAT条目处于**Available**状态时,表示SNAT条目修改完成。'."\n" + ."\n" + .'> 如果SNAT表中有SNAT条目的状态为**Pending**时,无法修改该SNAT表中的SNAT条目。'."\n" + ."\n\n" + .'**ModifySnatEntry**接口在同一个SNAT条目实例下不支持并发修改指定的SNAT条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSnatTableEntries' => [ + 'summary' => '调用DescribeSnatTableEntries接口查询已创建的SNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnatTableId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT表ID。 '."\n" + ."\n" + .'> **SnatTableId**和**NatGatewayId**参数至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'stb-8vbczigrhop8x5u3t****', + ], + ], + [ + 'name' => 'SnatEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT条目ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'snat-8vbae8uqh7rjpk7d2****', + ], + ], + [ + 'name' => 'SourceVSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机的ID。'."\n" + ."\n" + .'- 当查询公网NAT网关的SNAT条目时,该参数表示该交换机内的ECS实例均可以通过SNAT规则访问公网。'."\n" + ."\n" + .'- 当查询VPC NAT网关的SNAT条目时,该参数表示该交换机内的ECS实例均可以通过SNAT规则访问外部网络。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-3xbjkhjshjdf****', + ], + ], + [ + 'name' => 'SourceCIDR', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT条目的源网段。 ', + 'type' => 'string', + 'required' => false, + 'example' => '116.22.XX.XX/24', + ], + ], + [ + 'name' => 'SnatIp', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当查询公网NAT网关的SNAT条目时,该参数为SNAT条目中的EIP。'."\n" + .' '."\n" + .'- 当查询VPC NAT网关的SNAT条目时,该参数为SNAT条目中的NAT IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '116.22.XX.XX', + ], + ], + [ + 'name' => 'SnatEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNAT条目的名称。'."\n" + ."\n" + .'名称长度为2~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'SnatEntry-1', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的ID。'."\n" + ."\n" + .'> **SnatTableId**和**NatGatewayId**参数至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + [ + 'name' => 'NetworkInterfaceIds', + 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'flat', + 'schema' => [ + 'description' => '要查询的弹性网卡ID。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-gw8g131ef2dnbu3k****', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6D7E89B1-1C5B-412B-8585-4908E222EED5', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SnatTableEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SnatTableEntry' => [ + 'description' => '查询的SNAT列表详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'SNAT列表的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'SNAT条目状态,取值:'."\n" + ."\n" + .'- **Pending**:配置中,可能是创建中或修改中。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Pending', + ], + 'SnatEntryName' => [ + 'description' => 'SNAT条目的名称。', + 'type' => 'string', + 'example' => 'SnatEntry-1', + ], + 'SourceVSwitchId' => [ + 'description' => '- 当查询公网NAT网关时,该返回参数为通过SNAT功能访问互联网的交换机ID。'."\n" + ."\n" + .'- 当查询VPC NAT网关时,该返回参数为通过SNAT功能访问外部网络的交换机ID。 ', + 'type' => 'string', + 'example' => 'vsw-3xbdsffvfgdfds****', + ], + 'SourceCIDR' => [ + 'description' => 'SNAT条目的源网段。 ', + 'type' => 'string', + 'example' => '116.22.XX.XX/24', + ], + 'SnatEntryId' => [ + 'description' => 'SNAT条目的ID。 ', + 'type' => 'string', + 'example' => 'snat-kmd6nv8fy****', + ], + 'SnatTableId' => [ + 'description' => 'SNAT条目所属的SNAT表ID。 ', + 'type' => 'string', + 'example' => 'stb-gz3r3odawdgffde****', + ], + 'SnatIp' => [ + 'description' => '- 当查询公网NAT网关的SNAT条目时,该返回参数为SNAT条目中的EIP。'."\n" + .' '."\n" + .'- 当查询VPC NAT网关的SNAT条目时,该返回参数为SNAT条目中的NAT IP地址。', + 'type' => 'string', + 'example' => '116.22.XX.XX', + ], + 'NatGatewayId' => [ + 'description' => 'SNAT条目所属的NAT网关的ID。', + 'type' => 'string', + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-gw8g131ef2dnbu3k****', + ], + 'EipAffinity' => [ + 'description' => '是否打开IP亲和性。取值:'."\n" + ."\n" + .'- **0**:关闭IP亲和性。'."\n" + ."\n" + .'- **1**:打开IP亲和性。'."\n" + ."\n" + .'> 打开IP亲和性开关后,如果SNAT条目绑定多个EIP或NAT IP,同一个客户端将使用相同的EIP或NAT IP进行访问,否则客户端将从绑定的EIP或NAT IP中随机选取进行访问。', + 'type' => 'string', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'DESCRIBE_SNAT_PARAM_INVALID', + 'errorMessage' => 'SnatTableId and natGatewayId can not both be null', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSnatTableId.NotFound', + 'errorMessage' => 'Specified SNAT table does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 5,\\n \\"RequestId\\": \\"6D7E89B1-1C5B-412B-8585-4908E222EED5\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"SnatTableEntries\\": {\\n \\"SnatTableEntry\\": [\\n {\\n \\"Status\\": \\"Pending\\",\\n \\"SnatEntryName\\": \\"SnatEntry-1\\",\\n \\"SourceVSwitchId\\": \\"vsw-3xbdsffvfgdfds****\\",\\n \\"SourceCIDR\\": \\"116.22.XX.XX/24\\",\\n \\"SnatEntryId\\": \\"snat-kmd6nv8fy****\\",\\n \\"SnatTableId\\": \\"stb-gz3r3odawdgffde****\\",\\n \\"SnatIp\\": \\"116.22.XX.XX\\",\\n \\"NatGatewayId\\": \\"ngw-bp1uewa15k4iy5770****\\",\\n \\"NetworkInterfaceId\\": \\"eni-gw8g131ef2dnbu3k****\\",\\n \\"EipAffinity\\": \\"1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 5\\n 6D7E89B1-1C5B-412B-8585-4908E222EED5\\n 1\\n 1\\n \\n Pending\\n SnatEntry-1\\n vsw-3xbdsffvfgdfds****\\n 116.22.XX.XX/24\\n snat-kmd6nv8fy****\\n stb-gz3r3odawdgffde****\\n 116.22.XX.XX\\n \\n","errorExample":""}]', + 'title' => '查询已创建的SNAT条目', + ], + 'CreateForwardEntry' => [ + 'summary' => '调用CreateForwardEntry接口在DNAT列表中添加DNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNAT列表的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ftb-bp1mbjubq34hlcqpa****', + ], + ], + [ + 'name' => 'ExternalIp', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当为公网NAT网关配置DNAT条目时,提供公网访问的弹性公网IP地址。'."\n" + .'- 当为VPC NAT网关配置DNAT条目时,提供外部网络访问的NAT IP地址。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '116.28.XX.XX', + ], + ], + [ + 'name' => 'ExternalPort', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当为公网NAT网关配置DNAT条目时, 需要进行端口转发的外部端口或端口段。'."\n" + .' '."\n" + .' - 输入的端口范围需要在**1**~**65535**之间。'."\n" + .' - 如果需要在端口段内转发,请在输入时以正斜线(/)隔开起始端口,例如`10/20`。'."\n" + .' - 如果**ExternalPort**设置为端口段,则**InternalPort**也需要设置为端口段,且端口段的端口个数相同,例如**ExternalPort**设置为`10/20`,**InternalPort**设置为`80/90`。'."\n" + ."\n" + .'- 当为VPC NAT网关配置DNAT条目时,NAT IP地址被外部网络访问的端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '8080', + ], + ], + [ + 'name' => 'InternalIp', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当为公网NAT网关配置DNAT条目时,需要进行公网通信的ECS实例的私网IP地址,该私网IP地址需满足以下条件: '."\n" + .' '."\n" + .' - 必须属于NAT网关所在的VPC的网段。 '."\n" + ."\n" + .' - 必须被一个ECS实例使用且该实例没有绑定EIP时,DNAT条目才生效。 '."\n" + ."\n" + .'- 当为VPC NAT网关配置DNAT条目时,需要通过DNAT规则进行通信的私网IP地址。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'InternalPort', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当为公网NAT网关配置DNAT条目时,需要进行端口转发的内部端口或端口段,取值范围:**1**~**65535**。'."\n" + ."\n" + .'- 当为VPC NAT网关配置DNAT条目时,需要映射的目标ECS实例端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '80', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '协议类型,取值: '."\n" + ."\n" + .'- **TCP**:转发TCP协议的报文。 '."\n" + ."\n" + .'- **UDP**:转发UDP协议的报文。 '."\n" + ."\n" + .'- **Any**:转发所有协议的报文。如果**IpProtocol**配置为**Any**,则**ExternalPort**和**InternalPort**也必须配置为**Any**,实现DNAT IP映射。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TCP', + ], + ], + [ + 'name' => 'ForwardEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNAT规则的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以大小写字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ForwardEntry-1', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', + ], + ], + [ + 'name' => 'PortBreak', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启端口突破,取值:'."\n" + ."\n" + .'- **true**:开启端口突破。'."\n" + ."\n" + .'- **false**(默认值):不开启端口突破。'."\n" + ."\n" + .'>当DNAT条目和SNAT条目使用同一个公网IP地址时,如果您需要配置大于1024的端口号,您需要指定**PortBreak**为**true**。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建DNAT条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并创建DNAT条目。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ForwardEntryId' => [ + 'description' => 'DNAT条目的ID。', + 'type' => 'string', + 'example' => 'fwd-119smw5tkasdf****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A4AEE536-A97A-40EB-9EBE-53A6948A6928', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedFeature.PrivateLinkEnabled', + 'errorMessage' => 'The feature of PrivateLinkEnabled is not supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.PortSegment', + 'errorMessage' => 'The feature of PortSegment is not supported.', + ], + [ + 'errorCode' => 'ExclusiveParam.%sAnd%s', + 'errorMessage' => 'The param of %s and %s are mutually exclusive.', + ], + [ + 'errorCode' => 'DuplicatedParam.InternalPort', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'DuplicatedParam.ExternalPort', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'OperationFailed.AnyPortConfig', + 'errorMessage' => 'Operation failed because any port correspondence any protocol', + ], + [ + 'errorCode' => 'OperationUnsupported.ForwardEntry', + 'errorMessage' => 'Duplicated destination ip port is unsupported.', + ], + [ + 'errorCode' => 'InvalidIp.NotInNatgw', + 'errorMessage' => 'The specified Ip not belong to natgateway.', + ], + [ + 'errorCode' => 'QuotaExceeded.ForwardEntry', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Forbidden.IpHasBeenUsedInSnat', + 'errorMessage' => 'The source ip can\'t be used. Because it has been used in snat.', + ], + [ + 'errorCode' => 'InvalidExternalIp.Malformed', + 'errorMessage' => 'The specified ExternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidInternalIp.Malformed', + 'errorMessage' => 'The specified InternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidExternalPort.Malformed', + 'errorMessage' => 'The specified ExternalPort is not a valid port.', + ], + [ + 'errorCode' => 'InvalidInternalPort.Malformed', + 'errorMessage' => 'The specified InternalPort is not a valid port.', + ], + [ + 'errorCode' => 'Forbidden.DestnationIpOutOfVpcCIDR', + 'errorMessage' => 'The specified Internal Ip is Out of VPC CIDR.', + ], + [ + 'errorCode' => 'Forbidden.DestinationIpOutOfVswitchCIDR', + 'errorMessage' => 'The specified Internal Ip is Out of VSwitch CIDR.', + ], + [ + 'errorCode' => 'InvalidProtocal.ValueNotSupported', + 'errorMessage' => 'The specified IpProtocol does not support.', + ], + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + [ + 'errorCode' => 'ForwardEntry.Duplicated', + 'errorMessage' => 'The specified ExternalIp, IpProtocol, ExternalPort,InternalIp, InternalPort is duplicated', + ], + [ + 'errorCode' => 'Forbidden.ExternalIp.UsedInSnatTable', + 'errorMessage' => 'The specified ExternalIp is already used in SnatTable', + ], + [ + 'errorCode' => 'Forbindden', + 'errorMessage' => 'The specified Instance already bind eip', + ], + [ + 'errorCode' => 'Forbidden.InternalIpOutOfVpcCIDR', + 'errorMessage' => 'The specified Internal Ip is Out of VPC CIDR.', + ], + [ + 'errorCode' => 'Invalid.natgwNotExist', + 'errorMessage' => 'The specified natgateway not exist.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Missing mandatory parameter', + ], + [ + 'errorCode' => 'AnyPort.PortMustBeZero', + 'errorMessage' => 'any port port must be zero.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'IncorrectStatus.ForwardEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Duplicated.DestinationPort', + 'errorMessage' => 'The specified param DestinationPort is duplicated.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipInBinding', + 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', + ], + [ + 'errorCode' => 'QuotaExceeded.ForwardEntrySessionManytoOne', + 'errorMessage' => 'The dnat session quota is exceed.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'OperationFailed.DnatPortRangeLimit', + 'errorMessage' => 'The maximum number of port ranges that can be specified is exceeded.', + ], + [ + 'errorCode' => 'IncorrectStatus.NATGW', + 'errorMessage' => 'NATGW status is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.ForwardEntryNotAllowSrcIpEqualDstIp', + 'errorMessage' => 'The source IP of forward entry is not allowed to equal destination IP.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardTableId.NotFound', + 'errorMessage' => 'Specified forward table does not exist.', + ], + [ + 'errorCode' => 'InvalidExternalIp.NotFound', + 'errorMessage' => 'Specified External Ip address does not found on the VRouter', + ], + ], + 500 => [ + [ + 'errorCode' => 'System.Error', + 'errorMessage' => 'ERROR SYSTEM ERROR.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ForwardEntryId\\": \\"fwd-119smw5tkasdf****\\",\\n \\"RequestId\\": \\"A4AEE536-A97A-40EB-9EBE-53A6948A6928\\"\\n}","errorExample":""},{"type":"xml","example":"\\n fwd-119smw5tkasdf****\\n A4AEE536-A97A-40EB-9EBE-53A6948A6928\\n","errorExample":""}]', + 'title' => '在DNAT列表中添加DNAT条目', + 'description' => '每条DNAT条目由五部分组成,包括**ExternalIp**、**ExternalPort**、**IpProtocol**、**InternalIp**和**InternalPort**。添加DNAT条目后,NAT网关会将**ExternalIp:ExternalPort**上收到的指定协议的报文转发给**InternalIp:InternalPort**,并将回复消息原路返回。 '."\n" + ."\n" + .'调用本接口添加DNAT条目时,请注意: '."\n" + .' '."\n" + .'- **CreateForwardEntry**接口属于异步接口,即系统会先返回一个DNAT条目ID,但该DNAT条目并未添加完成,系统后台的添加任务仍在进行。您可以调用[DescribeForwardTableEntries](~~36053~~)查询DNAT条目的状态:'."\n" + ."\n" + .' - 当DNAT条目处于**Pending**状态时,表示DNAT条目正在添加中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当DNAT条目处于**Available**状态时,表示DNAT条目添加完成。'."\n" + .' '."\n" + .'- 所有DNAT条目的**ExternalIp**、**ExternalPort**和**IpProtocol**三个字段组成的组合必须互不重复,即不允许将同一个源IP、同一个端口、同一个协议的消息转发到多个目标ECS实例。 '."\n" + ."\n" + .'- 所有DNAT条目的**InternalIp**、**InternalPort**和**IpProtocol**三个字段组成的组合也必须互不重复。 '."\n" + ."\n" + .'- 所有DNAT条目的**ExternalIp**和**InternalIp**两个字段的IP地址不能相同,如果业务需要两个IP地址相同, 请联系商务经理。'."\n" + ."\n" + .'- 一个DNAT表最多可添加100条DNAT条目。 '."\n" + ."\n" + .'- DNAT条目中配置了IP映射方式的IP(公网NAT网关使用的EIP或VPC NAT网关使用的NAT IP地址)不能再被其他DNAT条目或SNAT条目使用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteForwardEntry' => [ + 'summary' => '调用DeleteForwardEntry接口删除指定的DNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNAT条目所属的DNAT列表ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ftb-8vbx8xu2lqj9qb334****', + ], + ], + [ + 'name' => 'ForwardEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的DNAT条目ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'fwd-8vbn3bc8roygjp0gy****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Missing mandatory parameter', + ], + [ + 'errorCode' => 'IncorrectStatus.NATGW', + 'errorMessage' => 'The status of the specified NAT gateway is abnormal.', + ], + [ + 'errorCode' => 'IncorrectStatus.ForwardEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardEntryId.NotFound', + 'errorMessage' => 'Specified forward entry ID does not exist', + ], + [ + 'errorCode' => 'InvalidForwardTableId.NotFound', + 'errorMessage' => 'Specified forward table does not exist.', + ], + [ + 'errorCode' => 'ResourceNotFound.ForwardEntry', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '删除指定的DNAT条目', + 'description' => '**DeleteForwardEntry**接口属于异步接口,即系统会先返回一个请求ID,但DNAT条目并未删除完成,系统后台的删除任务仍在进行。您可以调用[DescribeForwardTableEntries](~~36053~~)查询DNAT条目的状态:'."\n" + ."\n" + .'- 当DNAT条目处于**Deleting**状态时,表示DNAT条目正在删除中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当查询不到该DNAT条目时,表示DNAT条目已删除完成。'."\n" + ."\n" + .'> 如果DNAT表中有DNAT条目的状态为**Pending**时,无法删除该DNAT表中的DNAT条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyForwardEntry' => [ + 'summary' => '调用ModifyForwardEntry接口修改指定的DNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNAT条目所属的DNAT列表的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ftb-8vbx8xu2lqj9qb334****', + ], + ], + [ + 'name' => 'ForwardEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的DNAT条目的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'fwd-8vbn3bc8roygjp0gy****', + ], + ], + [ + 'name' => 'ExternalIp', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当修改公网NAT网关的DNAT条目时,该参数为提供公网访问的公网IP地址。'."\n" + ."\n" + .'- 当修改VPC NAT网关的DNAT条目时,该参数为供外部网络访问的NAT IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '116.85.XX.XX', + ], + ], + [ + 'name' => 'ExternalPort', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当修改公网NAT网关的DNAT条目时,该参数为DNAT条目中进行端口转发的外部端口或端口段。'."\n" + .' - 修改的端口范围需要在**1**~**65535**之间。'."\n" + .' - 如果需要修改端口段,请在输入时以正斜线(/)隔开起始端口,例如`10/20`。'."\n" + .' - 如果需要同时修改**ExternalPort**和**InternalPort**,而且**ExternalPort**为端口段,则**InternalPort**也需要设置为端口段,且端口段的端口个数相同,例如**ExternalPort**设置为`10/20`,**InternalPort**设置为`80/90`。'."\n" + ."\n" + .'- 当修改VPC NAT网关的DNAT条目时,该参数为被外部网络访问的端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'InternalIp', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当修改公网NAT网关的DNAT条目时,该参数为通过DNAT条目进行公网通信的ECS实例的私网IP地址。'."\n" + ."\n" + .'- 当修改VPC NAT网关的DNAT条目时,该参数为需要通过DNAT规则进行通信的私网IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.78', + ], + ], + [ + 'name' => 'InternalPort', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当修改公网NAT网关的DNAT条目时,该参数为DNAT条目中进行端口转发的内部端口或端口段,取值范围:**1**~**65535**。'."\n" + ."\n" + .'- 当修改VPC NAT网关的DNAT条目时,该参数为需要映射的目标ECS实例端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '协议类型,取值:'."\n" + .' '."\n" + .'- **TCP**:转发TCP协议的报文。'."\n" + .' '."\n" + .'- **UDP**:转发UDP协议的报文。'."\n" + .' '."\n" + .'- **Any**:转发所有协议的报文。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + ], + [ + 'name' => 'ForwardEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => '修改后的DNAT条目名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => ' cn-hangzhou', + ], + ], + [ + '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' => 'PortBreak', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启端口突破,取值:'."\n" + ."\n" + .'- **true**:开启端口突破。'."\n" + .'- **false**:不开启端口突破。当DNAT条目和SNAT条目使用同一个公网IP地址时,如果您需要配置大于`1024`的端口号,您需要指定`PortBreak`为`true`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改DNAT条目。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接修改DNAT条目。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedFeature.PortSegment', + 'errorMessage' => 'The feature of PortSegment is not supported.', + ], + [ + 'errorCode' => 'ExclusiveParam.%sAnd%s', + 'errorMessage' => 'The param of %s and %s are mutually exclusive.', + ], + [ + 'errorCode' => 'InvalidIp.NotInNatgw', + 'errorMessage' => 'The specified Ip not belong to natgateway.', + ], + [ + 'errorCode' => 'DuplicatedParam.InternalPort', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'DuplicatedParam.ExternalPort', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'OperationFailed.AnyPortConfig', + 'errorMessage' => 'Operation failed because any port correspondence any protocol', + ], + [ + 'errorCode' => 'OperationUnsupported.ForwardEntry', + 'errorMessage' => 'Duplicated destination ip port is unsupported.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Forbidden.IpHasBeenUsedInSnat', + 'errorMessage' => 'The source ip can\'t be used. Because it has been used in snat.', + ], + [ + 'errorCode' => 'IncorrectStatus.ForwardEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'InvalidExternalIp.Malformed', + 'errorMessage' => 'The specified ExternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidInternalIp.Malformed', + 'errorMessage' => 'The specified InternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidExternalPort.Malformed', + 'errorMessage' => 'The specified ExternalPort is not a valid port.', + ], + [ + 'errorCode' => 'InvalidInternalPort.Malformed', + 'errorMessage' => 'The specified InternalPort is not a valid port.', + ], + [ + 'errorCode' => 'Forbidden.DestnationIpOutOfVpcCIDR', + 'errorMessage' => 'The specified Destination Ip is Out of VPC CIDR.', + ], + [ + 'errorCode' => 'InvalidProtocal.ValueNotSupported', + 'errorMessage' => 'The specified IpProtocol does not support.', + ], + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Forward entry quota exceeded in this route table.', + ], + [ + 'errorCode' => 'ForwardEntry.Duplicated', + 'errorMessage' => 'The specified ExternalIp, IpProtocol, ExternalPort,InternalIp, InternalPort is duplicated', + ], + [ + 'errorCode' => 'Forbidden.ExternalIp.UsedInSnatTable', + 'errorMessage' => 'The specified ExternalIp is already used in SnatTable', + ], + [ + 'errorCode' => 'Forbidden.Already.Bounded', + 'errorMessage' => 'The specified instance already bounded', + ], + [ + 'errorCode' => 'InvalidIp.NotFound', + 'errorMessage' => 'The specified ip does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'IncorretStatus.ForwardEntry', + 'errorMessage' => 'The Specified forwardEntry is not stable status, can not operation', + ], + [ + 'errorCode' => 'IllegalParam.AnyPortNotZero', + 'errorMessage' => 'Any port port must be zero.', + ], + [ + 'errorCode' => 'Duplicated.DestinationPort', + 'errorMessage' => 'The specified param DestinationPort is duplicated.', + ], + [ + 'errorCode' => 'InvalidForwardEntryId.NotFound', + 'errorMessage' => 'Specified forward entry ID does not exist', + ], + [ + 'errorCode' => 'OperationUnsupported.EipInBinding', + 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', + ], + [ + 'errorCode' => 'QuotaExceeded.ForwardEntrySessionManytoOne', + 'errorMessage' => 'The dnat session quota is exceed.', + ], + [ + 'errorCode' => 'OperationFailed.ForwardEntryNotAllowSrcIpEqualDstIp', + 'errorMessage' => 'The source IP of forward entry is not allowed to equal destination IP.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.ForwardEntry', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardEntryId.NotFound', + 'errorMessage' => 'Specified forward entry ID does not exist', + ], + [ + 'errorCode' => 'InvalidExternalIp.NotFound', + 'errorMessage' => 'Specified External Ip address does not found on the VRouter', + ], + [ + 'errorCode' => 'InvalidForwardTableId.NotFound', + 'errorMessage' => 'Specified forward table does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\n","errorExample":""}]', + 'title' => '修改指定的DNAT条目', + 'description' => '- **ModifyForwardEntry**接口属于异步接口,即系统会先返回一个请求ID,但DNAT条目并未修改完成,系统后台的修改任务仍在进行。您可以调用[DescribeForwardTableEntries](~~36053~~)查询DNAT条目的状态:'."\n" + ."\n" + .' - 当DNAT条目处于**Pending**状态时,表示DNAT条目正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当DNAT条目处于**Available**状态时,表示DNAT条目修改完成。'."\n" + ."\n" + .'- **ModifyForwardEntry**接口在同一个DNAT条目下不支持并发修改指定的DNAT条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeForwardTableEntries' => [ + 'summary' => '调用DescribeForwardTableEntries接口查询已创建的DNAT条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNAT列表的ID。 '."\n" + ."\n" + .'> **ForwardTableId**和**NatGatewayId**参数至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ftb-bp1mbjubq34hlcqpa****', + ], + ], + [ + 'name' => 'ForwardEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNAT条目ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'fwd-8vbn3bc8roygjp0gy****', + ], + ], + [ + 'name' => 'ExternalIp', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当查询公网NAT网关的DNAT条目时,该参数为DNAT条目中提供公网访问的弹性公网IP地址。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该参数为供外部网络访问的NAT IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '116.28.XX.XX', + ], + ], + [ + 'name' => 'ExternalPort', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当查询公网NAT网关的DNAT条目时,该参数为进行端口转发的外部端口或端口段。'."\n" + .' - 查询的端口范围需要在**1**~**65535**之间。'."\n" + .' - 如果需要查询的是端口段,请在输入时以正斜线(/)隔开起始端口,例如`10/20`。'."\n" + .' - 如果查询的**ExternalPort**为端口段,查询的**InternalPort**也需要设置为端口段,且端口段的端口个数相同,例如**ExternalPort**设置为`10/20`,**InternalPort**设置为`80/90`。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该参数为NAT IP地址被外部网络访问的端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'required' => false, + 'example' => '8080', + ], + ], + [ + 'name' => 'InternalIp', + 'in' => 'query', + 'schema' => [ + 'description' => '私网IP地址。'."\n" + ."\n" + .'- 当查询公网NAT网关的DNAT条目时,该参数为通过DNAT条目进行公网通信的ECS实例的私网IP地址。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该参数为需要通过DNAT规则进行通信的私网IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX ', + ], + ], + [ + 'name' => 'InternalPort', + 'in' => 'query', + 'schema' => [ + 'description' => '- 当查询公网NAT网关的DNAT条目时,该参数为进行端口转发的内部端口或端口段,取值范围:**1**~**65535**。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该参数为需要映射的目标ECS实例端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '协议类型,取值:'."\n" + ."\n" + .'- **tcp**:转发TCP协议的报文。'."\n" + ."\n" + .'- **udp**:转发UDP协议的报文。'."\n" + ."\n" + .'- **any**:转发所有协议的报文。', + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'ForwardEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => 'DNAT条目的名称。'."\n" + ."\n" + .'名称长度为2~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ForwardEntry-1', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的ID。'."\n" + ."\n" + .'> **ForwardTableId**和**NatGatewayId**参数至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A6C4A8B1-7561-4509-949C-20DEB40D71E6', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ForwardTableEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ForwardTableEntry' => [ + 'description' => '查询的DNAT列表详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '查询的DNAT列表详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'DNAT条目的状态,取值:'."\n" + ."\n" + .'- **Pending**:配置中,可能是创建中或修改中。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'ForwardEntryId' => [ + 'description' => 'DNAT条目的ID。 ', + 'type' => 'string', + 'example' => 'fwd-119smw5tk****', + ], + 'InternalIp' => [ + 'description' => '私网IP地址。'."\n" + ."\n" + .'- 当查询公网NAT网关的DNAT条目时,该返回参数为通过DNAT条目进行公网通信的ECS实例的私网IP地址。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该返回参数为需要通过DNAT规则进行通信的私网IP地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'InternalPort' => [ + 'description' => "\n" + ."\n" + .'- 当查询公网NAT网关的DNAT条目时,该参数为进行端口转发的内部端口或端口段。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该参数为需要映射的目标ECS实例端口。', + 'type' => 'string', + 'example' => '25', + ], + 'ForwardEntryName' => [ + 'description' => 'DNAT条目的名称。', + 'type' => 'string', + 'example' => 'ForwardEntry-1', + ], + 'ForwardTableId' => [ + 'description' => 'DNAT条目所属DNAT表的ID。 ', + 'type' => 'string', + 'example' => 'ftb-11tc6xgmv****', + ], + 'IpProtocol' => [ + 'description' => '协议类型,取值:'."\n" + ."\n" + .'- **tcp**:转发TCP协议的报文。'."\n" + ."\n" + .'- **udp**:转发UDP协议的报文。'."\n" + ."\n" + .'- **any**:转发所有协议的报文。', + 'type' => 'string', + 'example' => 'tcp', + ], + 'ExternalPort' => [ + 'description' => "\n" + .'- 当查询公网NAT网关的DNAT条目时,该返回参数为进行端口转发的外部端口或端口段。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该返回参数为NAT IP地址被外部网络访问的端口。', + 'type' => 'string', + 'example' => '80', + ], + 'ExternalIp' => [ + 'description' => '- 当查询公网NAT网关的DNAT条目时,该返回参数为DNAT条目中提供公网访问的公网IP地址。'."\n" + ."\n" + .'- 当查询VPC NAT网关的DNAT条目时,该返回参数为供外部网络访问的NAT IP地址。', + 'type' => 'string', + 'example' => '139.79.XX.XX', + ], + 'NatGatewayId' => [ + 'description' => 'DNAT条目所属的NAT网关的ID。', + 'type' => 'string', + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + [ + 'errorCode' => 'DESCRIBE_FORWARD_PARAM_INVALID', + 'errorMessage' => 'ForwardTableId and natGatewayId can not both be null', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardTableId.NotFound', + 'errorMessage' => 'Specified forwardTableId does not exist', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"A6C4A8B1-7561-4509-949C-20DEB40D71E6\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 5,\\n \\"ForwardTableEntries\\": {\\n \\"ForwardTableEntry\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"ForwardEntryId\\": \\"fwd-119smw5tk****\\",\\n \\"InternalIp\\": \\"192.168.XX.XX\\",\\n \\"InternalPort\\": \\"25\\",\\n \\"ForwardEntryName\\": \\"ForwardEntry-1\\",\\n \\"ForwardTableId\\": \\"ftb-11tc6xgmv****\\",\\n \\"IpProtocol\\": \\"tcp\\",\\n \\"ExternalPort\\": \\"80\\",\\n \\"ExternalIp\\": \\"139.79.XX.XX\\",\\n \\"NatGatewayId\\": \\"ngw-bp1uewa15k4iy5770****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n A6C4A8B1-7561-4509-949C-20DEB40D71E6\\n 1\\n 5\\n \\n Available\\n fwd-119smw5tk****\\n 192.168.XX.XX\\n 25\\n ForwardEntry-1\\n ftb-11tc6xgmv****\\n TCP\\n 80\\n 139.79.XX.XX\\n ngw-bp1uewa15k4iy5770****\\n \\n","errorExample":""}]', + 'title' => '查询已创建的DNAT条目', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateFullNatEntry' => [ + 'summary' => '调用CreateFullNatEntry接口在FULLNAT列表中添加FULLNAT条目。', + 'methods' => [ + 'post', + ], + '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' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'FullNatTableId', + 'in' => 'query', + 'schema' => [ + 'title' => 'FullNAT条目所属的FullNAT列表的ID。', + 'description' => 'FullNAT条目所属的FullNAT列表的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-gw8g131ef2dnbu3k****', + ], + ], + [ + 'name' => 'NatIp', + 'in' => 'query', + 'schema' => [ + 'title' => '提供入方向访问的IP地址,该公网IP需要是当前VpcNat下的NatIP', + 'description' => '提供地址转换的NAT IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'NatIpPort', + 'in' => 'query', + 'schema' => [ + 'title' => '需要进行端口转发的外部端口,取值范围:1~65535。', + 'description' => 'FULLNAT端口映射的前端端口,取值范围:**1**~**65535**。'."\n" + ."\n" + .'> 如果未配置该参数,系统将随机分配一个可用端口。', + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'AccessIp', + 'in' => 'query', + 'schema' => [ + 'title' => '需要进行转发的后端IP', + 'description' => 'FULLNAT地址转换的后端IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'AccessPort', + 'in' => 'query', + 'schema' => [ + 'title' => '需要进行端口转发的内部端口,取值范围:1~65535。', + 'description' => 'FULLNAT端口映射的后端端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'required' => true, + 'example' => '80', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'title' => '协议类型,取值: • TCP:转发TCP协议的报文。 • UDP:转发UDP协议的报文。', + 'description' => '转发端口的协议类型,取值:'."\n" + ."\n" + .'- **TCP**:转发TCP协议的报文。 '."\n" + .'- **UDP**:转发UDP协议的报文。', + 'type' => 'string', + 'required' => true, + 'example' => 'TCP', + ], + ], + [ + 'name' => 'FullNatEntryName', + 'in' => 'query', + 'schema' => [ + 'title' => 'FULLNAT规则的名称。 长度为2~128个字符,必须以大小写字母或中文开头,但不能以http://或https://开头。', + 'description' => 'FULLNAT条目的名称。 长度为2~128个字符,必须以大小写字母或中文开头,但不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'FullNatEntryDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'FULLNAT条目的描述信息。'."\n" + ."\n" + .'描述可以为空;或填写2~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会添加FULLNAT条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并添加FULLNAT条目。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'FULLNAT条目的VPC NAT网关所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'AccessDomain', + 'in' => 'query', + 'schema' => [ + 'description' => 'FULLNAT 地址转换的后端域名。', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', + ], + 'FullNatEntryId' => [ + 'description' => 'FULLNAT条目的ID。', + 'type' => 'string', + 'example' => 'fullnat-gw8fz23jezpbblf1j****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IllegalParamFormat.NatIp', + 'errorMessage' => 'The param format of %s[%s] is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.PrivateLinkMode', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'QuotaExceeded.FullNatEntry', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.FullNatEntry', + 'errorMessage' => 'The specified resource of %s is already exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.NetworkInterface', + 'errorMessage' => 'The status of network interface is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.AllocateNatIpPortFailed', + 'errorMessage' => 'NatIpPort allocation failed.', + ], + [ + 'errorCode' => 'IllegalParam.NetworkInterfaceId', + 'errorMessage' => 'The param of NetworkInterfaceId is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.AccessDomain', + 'errorMessage' => 'The request parameter AccessDomain is illegal.', + ], + [ + 'errorCode' => 'ExclusiveParam.AccessIpAndAccessDomain', + 'errorMessage' => 'The specified AccessIp and AccessDomain are mutually exclusive.', + ], + [ + 'errorCode' => 'InstanceUnsupported.FullNatDomain', + 'errorMessage' => 'The current instance does not support the configuration of the FullNat rule domain name.', + ], + [ + 'errorCode' => 'ZoneUnsupported.FullNatDomain', + 'errorMessage' => 'The current zone does not support the configuration of the FullNat rule domain name.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The NatGateway instance not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\",\\n \\"FullNatEntryId\\": \\"fullnat-gw8fz23jezpbblf1j****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\n fullnat-gw8fz23jezpbblf1j****\\n","errorExample":""}]', + 'title' => '添加FULLNAT条目', + 'description' => '**CreateFullNatEntry**接口属于异步接口,即系统会先返回一个FULLNAT条目,但该FULLNAT条目并未添加完成,系统后台的添加任务仍在进行。您可以调用[ListFullNatEntries](~~348779~~)查询FULLNAT条目添加的状态:'."\n" + .'- 当FULLNAT条目处于**Creating**状态时,表示FULLlNAT条目正在添加中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当FULLNAT条目处于**Available**状态时,表示FULLlNAT条目已添加完成。', + ], + 'DeleteFullNatEntry' => [ + 'summary' => '调用DeleteFullNatEntry接口删除FULLNAT条目。', + 'methods' => [ + 'post', + ], + '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' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'FullNatTableId', + 'in' => 'query', + 'schema' => [ + 'title' => 'FullNAT条目所属的FullNAT列表的ID。', + 'description' => '要删除的FULLNAT条目所属的FULLNAT表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + ], + [ + 'name' => 'FullNatEntryId', + 'in' => 'query', + 'schema' => [ + 'title' => '要修改的DNAT条目的ID。', + 'description' => '要删除的FULLNAT条目ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fullnat-gw8fz23jezpbblf1j****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除FULLNAT条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并删除FULLNAT条目。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的FULLNAT条目所在VPC NAT网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eu-central-1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2BCC426F-A9F2-3F03-99D2-1E0D647236DB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.FullNatEntry', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.FullNatEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.FullNatTableId', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2BCC426F-A9F2-3F03-99D2-1E0D647236DB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2BCC426F-A9F2-3F03-99D2-1E0D647236DB\\n","errorExample":""}]', + 'title' => '删除FULLNAT条目', + 'description' => '**DeleteFullNatEntry**接口属于异步接口,即系统会先返回一个请求ID,但该FULLNAT条目并未删除完成,系统后台的删除任务仍在进行。您可以调用[ListFullNatEntries](~~348779~~)查询删除FULLNAT条目的状态:'."\n" + ."\n" + .'- 当FULLNAT条目处于**Deleting**状态时,表示FULLNAT条目正在删除中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当查询不到该FULLNAT条目时,表示该FULLNAT条目删除完成。', + ], + 'ModifyFullNatEntryAttribute' => [ + 'summary' => '调用ModifyFullNatEntryAttribute接口修改FULLNAT条目。', + 'methods' => [ + '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' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'FullNatTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + ], + [ + 'name' => 'FullNatEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT条目ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'fullnat-gw8fz23jezpbblf1j****', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的弹性网卡ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-gw8g131ef2dnbu3k****', + ], + ], + [ + 'name' => 'NatIp', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的NAT IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'NatIpPort', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT端口映射的前端端口,取值:**1**~**65535**。', + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'AccessIp', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT地址转换的后端IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.XX.XX', + ], + ], + [ + 'name' => 'AccessPort', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT端口映射的后端端口,取值:**1**~**65535**。', + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '转发端口的协议类型,取值:'."\n" + ."\n" + .'- **TCP**:转发TCP协议的报文。 '."\n" + .'- **UDP**:转发UDP协议的报文。', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + ], + [ + 'name' => 'FullNatEntryName', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT条目名称,即修改后的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'modify', + ], + ], + [ + 'name' => 'FullNatEntryDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT条目的描述信息,即修改后的描述信息。'."\n" + ."\n" + .'描述可以为空;或填写2~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'abcd', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改FULLNAT条目。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并修改FULLNAT条目。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的FULLNAT条目所在VPC NAT网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'AccessDomain', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的 FULLNAT 地址转换的后端域名。', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.NetworkInterfaceId', + 'errorMessage' => 'The specified resource is not found.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.FullNatEntry', + 'errorMessage' => 'The specified resource of %s is already exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'UnsupportedFeature.PrivateLinkMode', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'DependencyViolation.PrivateLinkMode', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IllegalParam.AccessDomain', + 'errorMessage' => 'The request parameter AccessDomain is illegal.', + ], + [ + 'errorCode' => 'ExclusiveParam.AccessIpAndAccessDomain', + 'errorMessage' => 'The specified AccessIp and AccessDomain are mutually exclusive.', + ], + [ + 'errorCode' => 'InstanceUnsupported.FullNatDomain', + 'errorMessage' => 'The current instance does not support the configuration of the FullNat rule domain name.', + ], + [ + 'errorCode' => 'ZoneUnsupported.FullNatDomain', + 'errorMessage' => 'The current zone does not support the configuration of the FullNat rule domain name.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\n","errorExample":""}]', + 'title' => '修改FULLNAT条目', + 'description' => '- **ModifyFullNatEntryAttribute**接口属于异步接口,即系统会先返回一个请求ID,但该FULLNAT条目并未修改完成,系统后台的修改任务仍在进行。您可以调用[ListFullNatEntries](~~348779~~)查询FULLNAT条目的修改状态:'."\n" + ."\n" + .' - 当FULLNAT条目处于**Modifying**状态时,表示FULLNAT条目正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .' - 当FULLNAT条目处于**Available**状态时,表示FULLNAT条目修改完成。'."\n" + ."\n" + .'- **ModifyFullNatEntryAttribute**接口在同一个FULLNAT条目下不支持并发修改指定的FULLNAT条目。', + ], + 'ListFullNatEntries' => [ + 'summary' => '调用ListFullNatEntries接口查询FULLNAT条目的列表信息。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + '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' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'FullNatTableId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的FULLNAT条目所属的FULLNAT表ID。'."\n" + ."\n\n" + .'>**FullNatTableId**和**NatGatewayId**参数至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + ], + [ + 'name' => 'FullNatEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的FULLNAT条目ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'fullnat-gw8fz23jezpbblf1j****', + ], + ], + [ + 'name' => 'FullNatEntryNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要查询的FULLNAT条目的名称。最多支持查询20个FULLNAT条目的名称。'."\n" + ."\n" + .'名称长度在2~128个字符之间,以英文字母或中文开头,可包含数字、短划线(-)和下划线(_)。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '要查询的FULLNAT条目的名称。最多支持输入20个FULLNAT条目的名称。'."\n" + ."\n" + .'名称长度在2~128个字符之间,以英文字母或中文开头,可包含数字、短划线(-)和下划线(_)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'NetworkInterfaceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要查询的弹性网卡ID。', + 'type' => 'array', + 'items' => [ + 'description' => '要查询的弹性网卡ID。最多支持输入20个弹性网卡ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-gw80wedm8pq0tpr2****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询FULLNAT条目所属VPC NAT网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '转发端口的协议类型,取值:'."\n" + ."\n" + .'- **TCP**:转发TCP协议的报文。'."\n" + .'- **UDP**:转发UDP协议的报文。', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT网关的ID。'."\n" + ."\n" + .'>**FullNatTableId**和**NatGatewayId**参数至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ngw-bp1uewa15k4iy5770****', + ], + ], + [ + 'name' => 'NatIp', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的FULLNAT条目的NAT IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX', + ], + ], + [ + 'name' => 'NatIpPort', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的FULLNAT条目的前端端口值,取值范围:1~65535。', + 'type' => 'string', + 'required' => false, + 'example' => '443', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F03E41F6-1A74-311F-8D98-124EEE9F37B8', + ], + 'NatGatewayId' => [ + 'description' => 'VPC NAT网关的实例ID。', + 'type' => 'string', + 'example' => 'ngw-gw8054kn57y3hq3bv****', + ], + 'FullNatTableId' => [ + 'description' => '查询的FULLNAT条目所属的FULLNAT表的ID。', + 'type' => 'string', + 'example' => 'fullnat-gw8fz23jezpbblf1j****', + ], + 'TotalCount' => [ + 'description' => '查询的FULLNAT条目的结果个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '是否拥有下一个查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一个查询开始的令牌。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'MaxResults' => [ + 'description' => '查询的最大结果个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'FullNatEntries' => [ + 'description' => '查询的FULLNAT条目的列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '查询的FULLNAT条目的列表信息。', + 'type' => 'object', + 'properties' => [ + 'NatIp' => [ + 'title' => 'DNAT条目中提供公网访问的公网IP地址。', + 'description' => 'FULLNAT条目中提供地址转换的NAT IP地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'NatIpPort' => [ + 'title' => 'DNAT条目中进行端口转发的外部端口,取值范围:1~65535。', + 'description' => 'FULLNAT条目中进行端口映射的前端端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'example' => '80', + ], + 'AccessIp' => [ + 'title' => '通过DNAT条目进行公网通信的ECS实例的私网IP地址。', + 'description' => 'FULLNAT条目中进行FULLNAT地址转换的后端IP地址。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + 'AccessPort' => [ + 'title' => 'DNAT条目中进行端口转发的内部端口,取值范围:1-65535。', + 'description' => 'FULLNAT条目中进行端口映射的后端端口,取值范围:**1**~**65535**。', + 'type' => 'string', + 'example' => '80', + ], + 'IpProtocol' => [ + 'title' => '协议类型,取值: • TCP:转发TCP协议的报文。 • UDP:转发UDP协议的报文。', + 'description' => '转发协议类型,取值: '."\n" + ."\n" + .'- **TCP**:转发TCP协议的报文。 '."\n" + .'- **UDP**:转发UDP协议的报文。', + 'type' => 'string', + 'example' => 'TCP', + ], + 'NetworkInterfaceId' => [ + 'title' => '当前VpcNat作为服务资源所加入的eni', + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-gw80wedm8pq0tpr2****', + ], + 'NetworkInterfaceType' => [ + 'title' => 'ENI类型,目前仅支持Endpoint', + 'description' => '弹性网卡的类型,目前仅取值为**Endpoint**(反向终端节点)。', + 'type' => 'string', + 'example' => 'Endpoint', + ], + 'FullNatEntryName' => [ + 'title' => 'FULLNAT规则的名称。 长度为2~128个字符,必须以大小写字母或中文开头,但不能以http://或https://开头。', + 'description' => 'FULLNAT条目的名称。 '."\n" + ."\n\n" + .'名称长度在2~128个字符之间,以英文字母或中文开头,可包含数字、短划线(-)和下划线(_)。'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'FullNatEntryDescription' => [ + 'description' => 'FULLNAT条目的描述信息。'."\n" + ."\n" + .'长度为2~128个字符,必须以大小写字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'example' => 'abc', + ], + 'CreationTime' => [ + 'description' => 'FULLNAT条目的创建时间。', + 'type' => 'string', + 'example' => '2021-10-27T02:44:40Z', + ], + 'FullNatEntryId' => [ + 'description' => 'FULLNAT条目的ID。', + 'type' => 'string', + 'example' => 'fullnat-gw8fz23jezpbblf1j****', + ], + 'FullNatEntryStatus' => [ + 'description' => 'FULLNAT条目的状态,取值:'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + .'- **Available**:可用。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'example' => 'Available', + ], + 'FullNatTableId' => [ + 'description' => 'FullNAT条目所属的FullNAT列表的ID。', + 'type' => 'string', + 'example' => 'fulltb-gw88z7hhlv43rmb26****', + ], + 'AccessDomain' => [ + 'description' => 'FULLNAT 条目中进行 FULLNAT 地址转换的后端域名。', + 'type' => 'string', + 'example' => 'xxx.com', + ], + 'DomainResolve' => [ + 'description' => 'FULLNAT 条目中地址转换的后端域名解析的IP。', + 'type' => 'string', + 'example' => '192.168.XX.XX', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.FullNatTableId', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'MissingParam.FullnatTableIdOrNatGatewayId', + 'errorMessage' => 'FullnatTableId and natGatewayId can not both be null', + ], + [ + 'errorCode' => 'ResourceNotFound.FullNatTable', + 'errorMessage' => 'The NAT gateway has no full nat table.', + ], + [ + 'errorCode' => 'NATGW_NOT_EXIST', + 'errorMessage' => 'The specified NAT gateway does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F03E41F6-1A74-311F-8D98-124EEE9F37B8\\",\\n \\"NatGatewayId\\": \\"ngw-gw8054kn57y3hq3bv****\\",\\n \\"FullNatTableId\\": \\"fullnat-gw8fz23jezpbblf1j****\\",\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"MaxResults\\": 1,\\n \\"FullNatEntries\\": [\\n {\\n \\"NatIp\\": \\"192.168.XX.XX\\",\\n \\"NatIpPort\\": \\"80\\",\\n \\"AccessIp\\": \\"192.168.XX.XX\\",\\n \\"AccessPort\\": \\"80\\",\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"NetworkInterfaceId\\": \\"eni-gw80wedm8pq0tpr2****\\",\\n \\"NetworkInterfaceType\\": \\"Endpoint\\",\\n \\"FullNatEntryName\\": \\"test\\",\\n \\"FullNatEntryDescription\\": \\"abc\\",\\n \\"CreationTime\\": \\"2021-10-27T02:44:40Z\\",\\n \\"FullNatEntryId\\": \\"fullnat-gw8fz23jezpbblf1j****\\",\\n \\"FullNatEntryStatus\\": \\"Available\\",\\n \\"FullNatTableId\\": \\"fulltb-gw88z7hhlv43rmb26****\\",\\n \\"AccessDomain\\": \\"xxx.com\\",\\n \\"DomainResolve\\": \\"192.168.XX.XX\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n F03E41F6-1A74-311F-8D98-124EEE9F37B8\\n ngw-gw8054kn57y3hq3bv****\\n fullnat-gw8fz23jezpbblf1j****\\n 1\\n caeba0bbb2be03f84eb48b699f0a4883\\n 1\\n \\n 192.168.XX.XX\\n 80\\n 192.168.XX.XX\\n 80\\n TCP\\n eni-gw80wedm8pq0tpr2****\\n Endpoint\\n test\\n abc\\n 2021-10-27T02:44:40Z\\n fullnat-gw8fz23jezpbblf1j****\\n Available\\n fulltb-gw88z7hhlv43rmb26****\\n \\n","errorExample":""}]', + 'title' => '查询FULLNAT条目的列表信息', + ], + 'CreateNatIp' => [ + 'summary' => '为VPC NAT网关实例创建NAT IP地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建NAT IP地址所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT IP地址所属的VPC NAT网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + ], + [ + 'name' => 'NatIpName', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的NAT IP地址的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'newnatip', + ], + ], + [ + 'name' => 'NatIpDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的NAT IP地址的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建NAT IP地址。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并创建NAT IP地址。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'NatIpCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '创建NAT IP地址的地址段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'NatIp', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '创建的NAT IP地址。'."\n" + ."\n" + .'如果您不指定该IP地址,系统会在您的NAT IP地址段中随机分配一个IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.34', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建NAT IP地址所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'Ipv4Prefix', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => '创建的IP前缀地址段。'."\n" + ."\n" + .'该IP前缀地址段必须位于NAT所在交换机的预留网段内,且预留网段不能被占用。IP前缀掩码必须为/28。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/28', + ], + ], + [ + 'name' => 'Ipv4PrefixCount', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '自动分配的IP前缀数量。'."\n" + ."\n" + .'从NAT所在交换机的未分配预留网段内随机分配。取值范围:1~10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建的NAT IP地址。', + 'type' => 'object', + 'properties' => [ + 'NatIp' => [ + 'description' => '创建的NAT IP地址。', + 'type' => 'string', + 'example' => '192.168.0.34', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E9AD97A0-5338-43F8-8A80-5E274CCBA11B', + ], + 'NatIpId' => [ + 'description' => '创建的NAT IP地址实例ID。', + 'type' => 'string', + 'example' => 'vpcnatip-gw8y7q3cpk3fggs8****', + ], + 'Ipv4Prefix' => [ + 'title' => '旧接口返回的Ipv4Prefix,已经废弃。', + 'description' => '旧接口返回的Ipv4Prefix,已经废弃。', + 'type' => 'string', + 'example' => '""', + ], + 'NatIps' => [ + 'title' => '创建NatIp后返回的NatIp参数,当使用IPv4Prefix创建NatIp后将返回所有的NatIp信息,当创建单个NatIp时也推荐使用此参数获取NatIp信息。', + 'description' => '创建NatIp后返回的NatIp参数,当使用IPv4Prefix创建NatIp后将返回所有的NatIp信息,当创建单个NatIp时也推荐使用此参数获取NatIp信息。', + 'type' => 'array', + 'items' => [ + 'title' => '创建的Ipv4Preix时返回创建的NatIpList列表。', + 'description' => '创建的Ipv4Preix时返回创建的NatIpList列表。', + 'type' => 'object', + 'properties' => [ + 'NatIp' => [ + 'title' => '创建的Ipv4Preix时返回创建的NatIpList列表的NatIp地址。', + 'description' => '创建的Ipv4Preix时返回创建的NatIpList列表的NatIp地址。', + 'type' => 'string', + 'example' => '192.168.2.128', + ], + 'NatIpId' => [ + 'title' => '创建的Ipv4Preix时返回创建的NatIpList列表的NatIpId。', + 'description' => '创建的Ipv4Preix时返回创建的NatIpList列表的NatIpId。', + 'type' => 'string', + 'example' => 'vpcnatip-xxxxxxxx', + ], + 'Ipv4Prefix' => [ + 'title' => '创建的Ipv4Preix时返回创建的NatIpList列表的Ipv4Prefix。', + 'description' => '创建的Ipv4Preix时返回创建的NatIpList列表的Ipv4Prefix。', + 'type' => 'string', + 'example' => '192.168.1.128/28', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Mismatch.NatIpAndNatIpCidr', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIpCidr', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => '%The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'QuotaExceeded.NatIp', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'ResourceNotEnough.SwitchAvailableIps', + 'errorMessage' => 'The available private Ip number is not enough in your subnet.', + ], + [ + 'errorCode' => 'ResourceNotEnough.NatIp', + 'errorMessage' => 'The specified resource of NatIp is not enough.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.NatIp', + 'errorMessage' => 'The specified resource of NatIp has already exist.', + ], + [ + 'errorCode' => 'Mismatch.Ipv4PrefixAndNatIpCidr', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'Mismatch.Ipv4PrefixAndCidrReservations', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.Ipv4Prefix', + 'errorMessage' => '%s is already associated.', + ], + [ + 'errorCode' => 'ResourceNotEnough.Ipv4Prefix', + 'errorMessage' => 'The resource of %s is not enough.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv4Prefix', + 'errorMessage' => 'The resource of s% is not found.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.NatIp', + 'errorMessage' => 'The resource of %s was already associated.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv4Prefix', + 'errorMessage' => 'The param of %s is illegal, must be /28 network segment.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.Ipv4Prefix', + 'errorMessage' => 'The specified resource of %s is already exist.', + ], + [ + 'errorCode' => 'QuotaExceeded.Ipv4Prefix', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'OperationFailed.InstanceNotSupport', + 'errorMessage' => 'natgateway not support ipv4prefix.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NatIp\\": \\"192.168.0.34\\",\\n \\"RequestId\\": \\"E9AD97A0-5338-43F8-8A80-5E274CCBA11B\\",\\n \\"NatIpId\\": \\"vpcnatip-gw8y7q3cpk3fggs8****\\",\\n \\"Ipv4Prefix\\": \\"\\\\\\"\\\\\\"\\",\\n \\"NatIps\\": [\\n {\\n \\"NatIp\\": \\"192.168.2.128\\",\\n \\"NatIpId\\": \\"vpcnatip-xxxxxxxx\\",\\n \\"Ipv4Prefix\\": \\"192.168.1.128/28\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 192.168.0.34\\n E9AD97A0-5338-43F8-8A80-5E274CCBA11B\\n vpcnatip-gw8y7q3cpk3fggs8****\\n","errorExample":""}]', + 'title' => '创建NAT IP地址', + 'description' => '**CreateNatIp**接口属于异步接口,即系统会先返回一个NAT IP地址,但该NAT IP地址并未创建完成,系统后台的创建任务仍在进行。您可以调用[ListNatIps](~~287000~~)查询NAT IP地址创建的状态:'."\n" + ."\n" + .'- 当NAT IP地址处于**Creating**状态时,表示NAT IP地址正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当NAT IP地址处于**Available**状态时,表示NAT IP地址创建完成。'."\n" + ."\n" + .'**CreateNatIp**接口在同一个NAT网关内不支持并发创建NAT IP地址。', + ], + 'DeleteNatIp' => [ + 'summary' => '调用DeleteNatIp接口删除NAT IP地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的NAT IP地址所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'NatIpId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '要删除的NAT IP地址实例ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'vpcnatip-gw8y7q3cpk3fggs87****', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的IP前缀所属的NAT网关实例ID。 当删除IP前缀时需要指定。', + 'type' => 'string', + 'required' => false, + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + ], + [ + 'name' => 'Ipv4Prefix', + 'in' => 'query', + 'schema' => [ + 'description' => '删除的IP前缀地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/28', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除NAT IP地址。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并删除NAT IP地址。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的NAT IP地址所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~448570~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E9AD97A0-5338-43F8-8A80-5E274CCBA11B', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.DefaultNatIp', + 'errorMessage' => 'The operation is failed because of default NatIP can not be deleted.', + ], + [ + 'errorCode' => 'DependencyViolation.NatIp', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.FullNatEntry', + 'errorMessage' => 'The fullnat entry depends on this nat ip,so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IllegalParam.NatIp', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'Mismatch.Ipv4PrefixAndNatIpCidr', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'Mismatch.Ipv4PrefixAndCidrReservations', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv4Prefix', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'DependencyViolation.%s', + 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.SnatEntry', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.Ipv4Prefix', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIpCidr', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.%s', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv4Prefix', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E9AD97A0-5338-43F8-8A80-5E274CCBA11B\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E9AD97A0-5338-43F8-8A80-5E274CCBA11B\\n","errorExample":""}]', + 'title' => '删除NAT IP地址', + 'description' => '**DeleteNatIp**接口属于异步接口,即系统会先返回一个请求ID,但该NAT IP地址并未删除完成,系统后台的删除任务仍在进行。您可以调用[ListNatIps](~~2522486~~)查询NAT IP地址的删除状态:'."\n" + ."\n" + .'- 当NAT IP地址处于**Deleting**状态时,表示NAT IP地址正在删除中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" + ."\n" + .'- 当查询不到该NAT IP地址时,表示NAT IP地址已删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyNatIpAttribute' => [ + 'summary' => '调用ModifyNatIpAttribute接口修改NAT IP地址的名称和描述。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'NatIpId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpcnatip-gw8e1n11f44wpg****', + ], + ], + [ + 'name' => 'NatIpName', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'newname', + ], + ], + [ + 'name' => 'NatIpDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改NAT IP地址的信息。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并修改NAT IP地址的信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6CC9456C-2E29-452A-9180-B6926E51B5CA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of NatIp is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6CC9456C-2E29-452A-9180-B6926E51B5CA\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 6CC9456C-2E29-452A-9180-B6926E51B5CA\\n","errorExample":""}]', + 'title' => '修改NAT IP地址的名称和描述', + 'description' => '**ModifyNatIpAttribute**接口不支持并发修改同一个NAT IP地址的名称和描述。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListNatIps' => [ + 'summary' => '调用ListNatIps接口查询NAT IP地址列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT IP地址列表所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询NAT IP地址所属NAT网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + ], + [ + 'name' => 'NatIpCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT IP地址所在的地址段。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会查询NAT IP地址列表。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'NatIpStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '查询的NAT IP地址的状态。取值:'."\n" + ."\n" + .'- **Available**:可用状态。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Creating**:创建中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'string', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NatIpName', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要查询的NAT IP地址的名称。**N**取值为**1**~**20**。', + 'type' => 'array', + 'items' => [ + 'description' => '要查询的NAT IP地址的名称。**N**取值为**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'required' => false, + 'example' => 'test', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NatIpIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要查询的NAT IP地址实例ID。**N**取值为**1**~**20**。', + 'type' => 'array', + 'items' => [ + 'description' => '要查询的NAT IP地址实例ID。**N**取值为**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpcnatcidr-gw8ov42ei6xh1jys2****', + ], + 'required' => false, + 'example' => 'vpcnatip-gw8a863sut1zijxh0****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT IP地址列表所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'IpOrigin', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'title' => '用于描述NatIp来源的字段的枚举,取值为“prefix”表示所属IPv4Prefix的NatIp; 取值为“cidr”表示孤立NatIp; 控制表示所有的NatIp.', + 'description' => '要查询的NAT IP来源的属性枚举。可能值:'."\n" + .'- prefix:属于IP前缀的NAT IP。'."\n" + ."\n" + .'- cidr:不属于任何IP前缀的孤立NAT IP。'."\n" + ."\n" + .'- 空:查询全部NAT IP。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'cidr', + 'enum' => [ + 'cidr', + 'prefix', + ], + ], + ], + [ + 'name' => 'Ipv4Prefix', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IP前缀地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/28', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7E78CEEA-BF8F-44D1-9DCD-D9141135B71E', + ], + 'TotalCount' => [ + 'description' => '查询到的NAT IP地址结果数目。', + 'type' => 'string', + 'example' => '1', + ], + 'NatIps' => [ + 'description' => 'NAT IP地址列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IsDefault' => [ + 'description' => '是否是默认NAT IP地址。取值:'."\n" + ."\n" + .'- **true**:是默认NAT IP地址。'."\n" + ."\n" + .'- **false**:不是默认NAT IP地址。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'NatIp' => [ + 'description' => '查询的NAT IP地址。', + 'type' => 'string', + 'example' => '192.168.0.126', + ], + 'Ipv4Prefix' => [ + 'description' => '查询的NAT IP地址所属的IP前缀地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/28', + ], + 'NatIpCidr' => [ + 'description' => '查询的NAT IP地址所在的地址段。', + 'type' => 'string', + 'example' => '192.168.0.0/24', + ], + 'NatIpId' => [ + 'description' => '查询的NAT IP地址实例ID。', + 'type' => 'string', + 'example' => 'vpcnatip-gw8a863sut1zijxh0****', + ], + 'NatIpDescription' => [ + 'description' => '查询的NAT IP地址的描述信息。', + 'type' => 'string', + 'example' => 'default', + ], + 'NatGatewayId' => [ + 'description' => '查询的NAT IP地址所属的VPC NAT网关实例ID。', + 'type' => 'string', + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + 'NatIpName' => [ + 'description' => '查询的NAT IP地址的名称。', + 'type' => 'string', + 'example' => 'default', + ], + 'NatIpStatus' => [ + 'description' => '查询的NAT IP地址的状态。取值:'."\n" + ."\n" + .'- **Available**:可用状态。'."\n" + .'- **Deleted**:已删除。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Creating**:创建中。'."\n" + .'- **Associated**:已关联SNAT或DNAT条目。'."\n" + .'- **Associating**:关联SNAT或DNAT条目中。', + 'type' => 'string', + 'example' => 'Available', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"7E78CEEA-BF8F-44D1-9DCD-D9141135B71E\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"NatIps\\": [\\n {\\n \\"IsDefault\\": true,\\n \\"NatIp\\": \\"192.168.0.126\\",\\n \\"Ipv4Prefix\\": \\"192.168.0.0/28\\",\\n \\"NatIpCidr\\": \\"192.168.0.0/24\\",\\n \\"NatIpId\\": \\"vpcnatip-gw8a863sut1zijxh0****\\",\\n \\"NatIpDescription\\": \\"default\\",\\n \\"NatGatewayId\\": \\"ngw-gw8v16wgvtq26vh59****\\",\\n \\"NatIpName\\": \\"default\\",\\n \\"NatIpStatus\\": \\"Available\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 7E78CEEA-BF8F-44D1-9DCD-D9141135B71E\\n 1\\n \\n true\\n 192.168.0.126\\n 192.168.0.0/24\\n vpcnatip-gw8a863sut1zijxh0****\\n default\\n ngw-gw8v16wgvtq26vh59****\\n default\\n Available\\n \\n","errorExample":""}]', + 'title' => '查询NAT IP地址列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateNatIpCidr' => [ + 'summary' => '为VPC NAT网关实例创建NAT IP地址段。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '待创建的NAT IP地址段所属的NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建NAT IP地址段所属的VPC NAT网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + ], + [ + 'name' => 'NatIpCidrName', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT IP地址段的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'newcidr', + ], + ], + [ + 'name' => 'NatIpCidrDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'NAT IP地址段的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'mycidr', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建NAT IP地址段。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'NatIpCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的NAT IP地址段。'."\n" + ."\n" + .'新建的地址段必须满足以下条件:'."\n" + ."\n" + .'- 属于10.0.0.0/8、172.16.0.0/12或192.168.0.0/16网段及其子网。'."\n" + .'- 支持的子网掩码位数范围为16至32位。'."\n" + .'- 不能与VPC NAT网关所属VPC的私网网段重叠。如果您需要将私网地址转换为VPC私网网段内的其他地址,请在对应的VPC私网网段内创建交换机,然后在该交换机中创建新的VPC NAT网关提供私网地址转换服务。'."\n" + .'- 如需使用公网地址段作为NAT IP地址段,则该地址段必须属于VPC NAT网关所属VPC的用户网段。关于用户网段的更多信息,请参见[什么是用户网段](~~185311~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '172.16.0.0/24', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '待创建的NAT IP地址段所属的NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NatIpCidrId' => [ + 'description' => '创建的NAT IP地址段的实例ID。', + 'type' => 'string', + 'example' => 'vpcnatcidr-gw8lhqtvdn4qnea****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7021BEB1-210F-48A9-AB82-BE9A9110BB89', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.NatIpCidrInUse', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'QuotaExceeded.NatIpCidr', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'OperationFailed.CreateNatIpCidrInVpcCidrBlock', + 'errorMessage' => 'The operation is failed because of Creating NatIpCidr in Vpc Cidr.', + ], + [ + 'errorCode' => 'OperationFailed.CreateNatIpCidrNotInUserCidr', + 'errorMessage' => 'The operation is failed because of Creating NatIpCidr not in UserCidr.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.NatIpCidr', + 'errorMessage' => 'The specified resource of %s is already exist.', + ], + [ + 'errorCode' => 'IllegalParamFormat.NatIpCidr', + 'errorMessage' => 'The param format of NatIpCidr is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatGateway', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.VPC', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NatIpCidrId\\": \\"vpcnatcidr-gw8lhqtvdn4qnea****\\",\\n \\"RequestId\\": \\"7021BEB1-210F-48A9-AB82-BE9A9110BB89\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vpcnatcidr-gw8lhqtvdn4qnea****\\n 7021BEB1-210F-48A9-AB82-BE9A9110BB89\\n","errorExample":""}]', + 'title' => '创建NAT IP地址段', + 'description' => '**CreateNatIpCidr**接口在同一个NAT网关内不支持并发创建NAT IP的地址段。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteNatIpCidr' => [ + 'summary' => '调用DeleteNatIpCidr接口删除NAT IP地址段。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的NAT IP地址段所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'NatIpCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的NAT IP地址段。'."\n" + ."\n" + .'- 删除NAT IP地址段前需要将该地址段中的NAT IP地址全部删除。'."\n" + .'- 默认NAT IP地址段不能删除。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '172.16.0.0/24', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除NAT IP地址段。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并删除NAT IP地址段。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除NAT IP地址段所属的NAT网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的NAT IP地址段所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7021BEB1-210F-48A9-AB82-BE9A9110BB89', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.NatIpCidr', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'OperationFailed.DefaultNatIpCidr', + 'errorMessage' => 'The operation is failed because of default NatIPCidr can not be deleted.', + ], + [ + 'errorCode' => 'DependencyViolation.NatIp', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => '%The status of %s [%s] is incorrect.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7021BEB1-210F-48A9-AB82-BE9A9110BB89\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 7021BEB1-210F-48A9-AB82-BE9A9110BB89\\n","errorExample":""}]', + 'title' => '删除NAT IP地址段', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyNatIpCidrAttribute' => [ + 'summary' => '调用ModifyNatIpCidrAttribute接口修改NAT IP地址段的名称和描述。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址段所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'NatIpCidrName', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址段的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'newname', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改NAT IP地址段的信息。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并修改NAT IP地址段的信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'NatIpCidrDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址段的描述信息。'."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'newtest', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址段所属的VPC NAT网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + ], + [ + 'name' => 'NatIpCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '172.16.0.0/24', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的NAT IP地址段所属NAT网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParamFormat.NatIpCidr', + 'errorMessage' => 'The param format of NatIpCidr is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.NatIpCidr', + 'errorMessage' => 'The specified resource of NatIpCidr is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '修改NAT IP地址段的名称和描述', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListNatIpCidrs' => [ + 'summary' => '调用ListNatIpCidrs接口查询NAT IP地址段列表。', + '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' => '需要查询的NAT IP地址段所属VPC NAT网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询NAT IP地址段的VPC NAT网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + ], + [ + 'name' => 'NatIpCidr', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT IP地址段。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '172.16.0.0/24', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会查询NAT IP地址段列表。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并查询NAT IP地址段列表。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'NatIpCidrStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的NAT IP地址段的状态。取值:**Available**,表示可用状态。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'string', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NatIpCidrName', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要查询的NAT IP地址段的名称。**N**取值为**1**~**20**。', + 'type' => 'array', + 'items' => [ + 'description' => '要查询的NAT IP地址段的名称。**N**取值为**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'cidrname', + ], + 'required' => false, + 'example' => 'test', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NatIpCidrs', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要查询的NAT IP地址段。**N**取值为**1**~**20**。', + 'type' => 'array', + 'items' => [ + 'description' => '要查询的NAT IP地址段。**N**取值为**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.0.0/24', + ], + 'required' => false, + 'example' => '172.16.0.0/24', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要查询的NAT IP地址段所属VPC NAT网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7479A224-4A28-4895-9604-11F48BCE6A88', + ], + 'TotalCount' => [ + 'description' => '查询到的NAT IP地址段的列表条目数。', + 'type' => 'string', + 'example' => '1', + ], + 'NatIpCidrs' => [ + 'description' => 'NAT IP地址段列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'NAT IP地址段列表。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'NAT IP地址段的创建时间。', + 'type' => 'string', + 'example' => '2021-06-28T20:50Z', + ], + 'NatIpCidrId' => [ + 'description' => 'NAT IP地址段实例ID。', + 'type' => 'string', + 'example' => 'vpcnatcidr-gw8ov42ei6xh1jys2****', + ], + 'IsDefault' => [ + 'description' => '是否为默认NAT IP地址段。取值:'."\n" + ."\n" + .'- **true**:是默认NAT IP地址段。'."\n" + .'- **false**:不是默认NAT IP地址段。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'NatIpCidrStatus' => [ + 'description' => 'NAT IP地址段的状态。取值:**Available**,表示可用状态。', + 'type' => 'string', + 'example' => 'Available', + ], + 'NatIpCidrName' => [ + 'description' => 'NAT IP地址段的名称。', + 'type' => 'string', + 'example' => 'Name', + ], + 'NatIpCidr' => [ + 'description' => 'NAT IP地址段。', + 'type' => 'string', + 'example' => '172.16.0.0/24', + ], + 'NatGatewayId' => [ + 'description' => 'NAT IP地址段所属的VPC NAT网关实例ID。', + 'type' => 'string', + 'example' => 'ngw-gw8v16wgvtq26vh59****', + ], + 'NatIpCidrDescription' => [ + 'description' => 'NAT IP地址段的描述信息。', + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"7479A224-4A28-4895-9604-11F48BCE6A88\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"NatIpCidrs\\": [\\n {\\n \\"CreationTime\\": \\"2021-06-28T20:50Z\\",\\n \\"NatIpCidrId\\": \\"vpcnatcidr-gw8ov42ei6xh1jys2****\\",\\n \\"IsDefault\\": true,\\n \\"NatIpCidrStatus\\": \\"Available\\",\\n \\"NatIpCidrName\\": \\"Name\\",\\n \\"NatIpCidr\\": \\"172.16.0.0/24\\",\\n \\"NatGatewayId\\": \\"ngw-gw8v16wgvtq26vh59****\\",\\n \\"NatIpCidrDescription\\": \\"test\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a4883\\n 7479A224-4A28-4895-9604-11F48BCE6A88\\n 1\\n \\n 2021-06-28T20:50Z\\n vpcnatcidr-gw8ov42ei6xh1jys2****\\n true\\n Available\\n default\\n 172.16.0.0/24\\n ngw-gw8v16wgvtq26vh59****\\n default\\n \\n","errorExample":""}]', + 'title' => '查询NAT IP地址段列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateIpv4Gateway' => [ + 'summary' => '调用CreateIpv4Gateway接口创建IPv4网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Ipv4GatewayName', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的IPv4网关的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4', + ], + ], + [ + 'name' => 'Ipv4GatewayDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的IPv4网关的描述信息。'."\n" + ."\n" + .'描述长度为1~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的IPv4网关所在VPC的ID。'."\n" + ."\n" + .'一个VPC仅支持创建一个IPv4网关。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-5tss06uvoyps5xoya****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建IPv4网关。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接创建IPv4网关。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建IPv4网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建IPv4网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建的IPv4网关的实例ID。', + 'type' => 'object', + 'properties' => [ + 'Ipv4GatewayId' => [ + 'description' => '创建的IPv4网关的实例ID。', + 'type' => 'string', + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F282742B-1BBB-5F63-A3AF-E92EC575A1A6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.ExistDirectEip', + 'errorMessage' => 'The operation is not allowed because of existing direct eip.', + ], + [ + 'errorCode' => 'UnsupportedRegion', + 'errorMessage' => 'The feature of ipv4Gateway is not supported in the region.', + ], + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'You cannot operate shared resources.', + ], + [ + 'errorCode' => 'OperationDenied.SubnetRouteV1Exist', + 'errorMessage' => 'The operation is not allowed because of existing subnetRouteV1.', + ], + [ + 'errorCode' => 'OperationDenied.NormalNatExist', + 'errorMessage' => 'The operation is not allowed because of existing normalNat.', + ], + [ + 'errorCode' => 'OperationDenied.VpcExistIpv4Gateway', + 'errorMessage' => 'An IPv4 gateway already exists in the VPC.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv4Gateway', + 'errorMessage' => 'The feature of ipv4Gateway is not supported for [%s].', + ], + [ + 'errorCode' => 'OperationDenied.VpnExist', + 'errorMessage' => 'The operation is not allowed because of existing vpn.', + ], + [ + 'errorCode' => 'OperationDenied.DirectEipExist', + 'errorMessage' => 'The operation is not allowed because of existing directEip.', + ], + [ + 'errorCode' => 'OperationFailed.GetNfvServiceList', + 'errorMessage' => 'The operation is failed because of get nfv serviceList failed.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.VpcNotExist', + 'errorMessage' => 'The operation is failed because of vpc is not found.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceGroupId', + 'errorMessage' => 'Invalid ResourceGroupld value.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::GetIpv4GatewayAttribute', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Ipv4GatewayId\\": \\"ipv4gw-5tsnc6s4ogsedtp3k****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"RequestId\\": \\"F282742B-1BBB-5F63-A3AF-E92EC575A1A6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ipv4gw-5tsnc6s4ogsedtp3k****\\n rg-acfmxazb4ph6aiy****\\n F282742B-1BBB-5F63-A3AF-E92EC575A1A6\\n","errorExample":""}]', + 'title' => '创建IPv4网关', + 'description' => '- **CreateIpv4Gateway**接口属于异步接口,即系统返回一个实例ID,但该IPv4网关尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetIpv4GatewayAttribute](~~407670~~)查询IPv4网关的创建状态:'."\n" + .' - 当IPv4网关处于**Creating**状态时,表示IPv4网关正在创建中。'."\n" + .' - 当IPv4网关处于**Created**状态时,表示IPv4网关创建完成。'."\n" + .'- **CreateIpv4Gateway**接口不支持在同一个VPC下并发创建IPv4网关。', + ], + 'DeleteIpv4Gateway' => [ + 'summary' => '调用DeleteIpv4Gateway接口删除IPv4网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '38044', + 'abilityTreeNodes' => [ + 'FEATUREvpcTEV4TQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Ipv4GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的IPv4网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + ], + [ + 'name' => 'InternetMode', + 'in' => 'query', + 'schema' => [ + 'description' => '选择删除IPv4网关后VPC的公网模式,取值:'."\n" + ."\n" + .'- **private**:默认值,删除IPv4网关后,VPC将变成纯私网VPC,不具备公网访问能力。'."\n" + .'- **public**:删除IPv4网关后,VPC公网访问不再受IPv4网关集中控制,公网IP绑定实例后缺省可以直接访问公网。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'enumValueTitles' => [ + 'private' => 'private', + 'public' => 'public', + ], + 'example' => 'public', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的IPv4网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除IPv4网关。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接删除IPv4网关。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的IPv4网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '21133AC0-0636-521B-A400-253818691A56', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.Ipv4Gateway', + 'errorMessage' => 'The specified resource ipv4Gateway is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv4Gateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.RouteEntryExist', + 'errorMessage' => 'The operation is not allowed because of existing routeEntry point to ipv4Gateway.', + ], + [ + 'errorCode' => 'OperationDenied.GatewayAlreadyAssociated', + 'errorMessage' => 'The operation is not allowed because of the specified resource %s is already associated.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv4GatewayUsedByEipBindIpAddress', + 'errorMessage' => 'Failed to delete the IPv4 gateway because the EIP associated with a private IP address requires the IPv4 gateway to implement outbound Internet access.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::GetIpv4GatewayAttribute', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"21133AC0-0636-521B-A400-253818691A56\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 21133AC0-0636-521B-A400-253818691A56\\n","errorExample":""}]', + 'title' => '删除IPv4网关', + 'description' => '- 删除IPv4网关实例前,请确保已解绑IPv4网关实例关联的路由表。'."\n" + ."\n" + .'- **DeleteIpv4Gateway**接口属于异步接口,即系统会先返回一个**RequestId**,但该IPv4网关实例并未删除完成,系统后台的删除任务仍在进行。您可以调用[GetIpv4GatewayAttribute](~~407670~~)查询IPv4网关实例的状态。'."\n" + ."\n" + .' - 当IPv4网关实例处于**Deleting**状态时,表示正在删除中。'."\n" + ."\n" + .' - 当IPv4网关实例无法被查询到时,表示删除完成。'."\n" + ."\n" + .'- **DeleteIpv4Gateway**接口不支持并发删除同一个IPv4网关实例。', + ], + 'EnableVpcIpv4Gateway' => [ + 'summary' => '调用EnableVpcIpv4Gateway接口激活IPv4网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Ipv4GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要激活的IPv4网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv4gw-5tsp9lumsxoqizvq2****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv4网关所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会激活IPv4网关。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接激活IPv4网关。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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' => 'RouteTableList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '路由表列表。系统会为路由表列表中的路由表添加一条0.0.0.0/0指向IPv4网关的路由条目。', + 'type' => 'array', + 'items' => [ + 'description' => '路由表列表。系统会为路由表列表中的路由表添加一条0.0.0.0/0指向IPv4网关的路由条目。系统支持的最大路由表数量为10。'."\n" + ."\n" + .'> 路由表与IPv4网关需要属于同一个VPC。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv4网关所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE', + 'errorMessage' => 'Specified CIDR block is already exists.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv4Gateway', + 'errorMessage' => 'The specified resource ipv4Gateway is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv4Gateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv4GatewayAlreadyActive.', + 'errorMessage' => 'The operation failed because of ipv4Gateway is already active.', + ], + [ + 'errorCode' => 'OperationDenied.ConflictOfAllZeroRouting', + 'errorMessage' => 'The operation is not allowed because of routetable [%s] exist all-zero route entry.', + ], + [ + 'errorCode' => 'UnsupportedFeature.Ipv4Gateway', + 'errorMessage' => 'The feature of ipv4Gateway is not supported for [%s].', + ], + [ + 'errorCode' => 'OperationDenied.VpnExist', + 'errorMessage' => 'The operation is not allowed because of existing vpn.', + ], + [ + 'errorCode' => 'OperationDenied.NatgatewayExist', + 'errorMessage' => 'The operation is not allowed because of existing nat.', + ], + [ + 'errorCode' => 'OperationDenied.DirectEipExist', + 'errorMessage' => 'The operation is not allowed because of existing directEip.', + ], + [ + 'errorCode' => 'OperationDenied.VpcHasAlreadyActive', + 'errorMessage' => 'The operation is not allowed because of vpc has already been active.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::GetIpv4GatewayAttribute', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '激活IPv4网关', + 'description' => '- **EnableVpcIpv4Gateway**接口属于异步接口,即系统会先返回一个**RequestId**,但该IPv4网关实例并未激活完成,系统后台的激活任务仍在进行。您可以调用[GetIpv4GatewayAttribute](~~407670~~)查询IPv4网关实例的状态。'."\n" + ."\n" + .' - 当IPv4网关实例处于**Activating**状态时,表示正在激活中。'."\n" + ."\n" + .' - 当IPv4网关实例处于**Created**状态时,表示激活完成。'."\n" + ."\n" + .'- **EnableVpcIpv4Gateway**接口不支持并发激活同一个IPv4网关。', + ], + 'UpdateIpv4GatewayAttribute' => [ + 'summary' => '调用UpdateIpv4GatewayAttribut修改IPv4网关的名称或描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'Ipv4GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改名称或描述信息的IPv4网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + ], + [ + 'name' => 'Ipv4GatewayName', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的IPv4网关实例的名称,即修改后的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'newname', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改IPv4网关的名称或描述信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接修改IPv4网关的名称或描述信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Ipv4GatewayDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的IPv4网关实例的描述信息,即修改后的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'new', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改名称或描述信息的IPv4网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改名称或描述信息的IPv4网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '671CEB03-C98D-5916-950C-C55B0BD06621', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.Ipv4Gateway', + 'errorMessage' => 'The specified resource ipv4Gateway is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv4Gateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"671CEB03-C98D-5916-950C-C55B0BD06621\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 671CEB03-C98D-5916-950C-C55B0BD06621\\n","errorExample":""}]', + 'title' => '修改IPv4网关的名称或描述信息', + 'description' => '**UpdateIpv4GatewayAttribute**接口不支持并发修改同一个IPv4网关的名称或描述信息。', + ], + 'ListIpv4Gateways' => [ + 'summary' => '调用ListIpv4Gateways接口查询IPv4网关实例的列表信息。', + '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' => '要查询的IPv4网关列表信息的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv4网关实例关联的VPC的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-5tsrxlw7dv074gci4****', + ], + ], + [ + 'name' => 'Ipv4GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv4网关实例的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + ], + [ + 'name' => 'Ipv4GatewayName', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv4网关实例的名称。'."\n" + ."\n" + .'名称长度为1~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'name', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv4网关列表信息的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv4网关所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2D265800-E306-529C-8418-84B0A1D201DB', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'string', + 'example' => '1', + ], + 'Ipv4GatewayModels' => [ + 'description' => 'IPv4网关实例的列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4网关实例的列表信息。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'IPv4网关实例关联的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-5tsrxlw7dv074gci4****', + ], + 'Status' => [ + 'description' => 'IPv4网关实例的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Created**:已创建,可用状态。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'example' => 'Created', + ], + 'Ipv4GatewayId' => [ + 'description' => 'IPv4网关的实例ID。', + 'type' => 'string', + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + 'Ipv4GatewayDescription' => [ + 'description' => 'IPv4网关实例的描述信息。', + 'type' => 'string', + 'example' => 'test', + ], + 'Enabled' => [ + 'description' => 'IPv4网关实例是否已经激活。取值:'."\n" + ."\n" + .'- **true**;已激活。'."\n" + .'- **false**:未激活。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'GmtCreate' => [ + 'description' => 'IPv4网关创建时间', + 'type' => 'string', + 'example' => '2021-12-02T07:07:35Z', + ], + 'Ipv4GatewayRouteTableId' => [ + 'description' => 'IPv4网关实例关联的路由表ID。', + 'type' => 'string', + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + 'Ipv4GatewayName' => [ + 'description' => 'IPv4网关实例的名称。', + 'type' => 'string', + 'example' => 'name', + ], + 'ResourceGroupId' => [ + 'description' => 'IPv4网关所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"2D265800-E306-529C-8418-84B0A1D201DB\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"Ipv4GatewayModels\\": [\\n {\\n \\"VpcId\\": \\"vpc-5tsrxlw7dv074gci4****\\",\\n \\"Status\\": \\"Created\\",\\n \\"Ipv4GatewayId\\": \\"ipv4gw-5tsnc6s4ogsedtp3k****\\",\\n \\"Ipv4GatewayDescription\\": \\"test\\",\\n \\"Enabled\\": true,\\n \\"GmtCreate\\": \\"2021-12-02T07:07:35Z\\",\\n \\"Ipv4GatewayRouteTableId\\": \\"vtb-5ts0ohchwkp3dydt2****\\",\\n \\"Ipv4GatewayName\\": \\"name\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 2D265800-E306-529C-8418-84B0A1D201DB\\n 1\\n \\n vpc-5tsrxlw7dv074gci4****\\n Created\\n ipv4gw-5tsnc6s4ogsedtp3k****\\n test\\n true\\n 2021-12-02T07:07:35Z\\n vtb-5ts0ohchwkp3dydt2****\\n name\\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询IPv4网关实例的列表信息', + ], + 'GetIpv4GatewayAttribute' => [ + 'summary' => '调用GetIpv4GatewayAttribute接口', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询IPv4网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + [ + 'name' => 'Ipv4GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv4网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询IPv4网关实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ap-southeast-6', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '查询的IPv4网关实例的详细信息。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'IPv4网关实例关联的VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-5tsrxlw7dv074gci4****', + ], + 'Status' => [ + 'description' => 'IPv4网关实例的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Created**:已创建,可用状态。'."\n" + ."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'- **Deleting**:删除中。'."\n" + ."\n" + .'- **Deleted**:已删除。'."\n" + ."\n" + .'- **Activating**:使能中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'Ipv4GatewayId' => [ + 'description' => 'IPv4网关的实例ID。', + 'type' => 'string', + 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7F79A919-6FE9-50C4-967B-45705E1F9C38', + ], + 'Ipv4GatewayDescription' => [ + 'description' => 'IPv4网关实例的描述信息。', + 'type' => 'string', + 'example' => 'new', + ], + 'Enabled' => [ + 'description' => 'IPv4网关是否已经激活。取值:'."\n" + ."\n" + .'- **true**:已激活。'."\n" + ."\n" + .'- **false**:未激活。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Ipv4GatewayRouteTableId' => [ + 'description' => 'IPv4网关实例关联的路由表ID。', + 'type' => 'string', + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + 'Ipv4GatewayName' => [ + 'description' => 'IPv4网关的实例名称。', + 'type' => 'string', + 'example' => 'name', + ], + 'CreateTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2022-02-24T09:02:36Z', + ], + 'ResourceGroupId' => [ + 'description' => 'IPv4网关所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.Ipv4Gateway', + 'errorMessage' => 'The specified resource ipv4Gateway is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-5tsrxlw7dv074gci4****\\",\\n \\"Status\\": \\"Created\\",\\n \\"Ipv4GatewayId\\": \\"ipv4gw-5tsnc6s4ogsedtp3k****\\",\\n \\"RequestId\\": \\"7F79A919-6FE9-50C4-967B-45705E1F9C38\\",\\n \\"Ipv4GatewayDescription\\": \\"new\\",\\n \\"Enabled\\": true,\\n \\"Ipv4GatewayRouteTableId\\": \\"vtb-5ts0ohchwkp3dydt2****\\",\\n \\"Ipv4GatewayName\\": \\"name\\",\\n \\"CreateTime\\": \\"2022-02-24T09:02:36Z\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n vpc-5tsrxlw7dv074gci4****\\n Created\\n ipv4gw-5tsnc6s4ogsedtp3k****\\n 7F79A919-6FE9-50C4-967B-45705E1F9C38\\n new\\n true\\n vtb-5ts0ohchwkp3dydt2****\\n name\\n 2022-02-24T09:02:36Z\\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n","errorExample":""}]', + 'title' => '查询指定的IPv4网关属性', + ], + 'CreateVpnGateway' => [ + 'summary' => '调用CreateVpnGateway接口创建VPN网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的名称,默认值为VPN网关的ID。'."\n" + ."\n" + .'长度为2~100个字符,不能以`http://`或`https://`开头,需要以大写或小写字母开头,后面可包含大小写字母、数字、下划线(_)、短划线(-)和半角句号(.),不支持其他特殊字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'MYVPN', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所属的VPC实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1ub1yt9cvakoelj****', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的计费方式。仅取值:**PREPAY**,包年包月。'."\n" + .'VPN网关的计费方式。仅取值:**POSTPAY**,按量计费。'."\n" + .'VPN网关的计费方式。仅取值:**POSTPAY**,按量计费。'."\n" + ."\n" + .'在您创建VPN网关时,该参数为必填项。', + 'type' => 'string', + 'required' => false, + 'example' => '中国站示例值:PREPAY,国际站示例值:POSTPAY', + 'default' => 'POSTPAY', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长。单位:月。取值:**1**~**9**、**12**、**24**或**36**。'."\n" + ."\n" + .''."\n" + .'> **InstanceChargeType**参数的值为**PREPAY**时,该参数必选。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付VPN网关的账单。取值:'."\n" + ."\n" + .'- **true**:自动支付VPN网关的账单。'."\n" + ."\n" + .'- **false**(默认值):不自动支付VPN网关的账单。'."\n" + ."\n" + .'> 为了成功创建VPN网关实例,建议您开启自动支付。如果您关闭了自动支付,则需要手动支付账单才能成功创建VPN网关实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的带宽规格。单位:Mbps。'."\n" + ."\n" + .'- 如果您要创建公网VPN网关,则取值为:**5**、**10**、**20**、**50**、**100**、**200**、**500**或**1000**。'."\n" + .'- 如果您要创建私网VPN网关,则取值为:**200**或**1000**。'."\n" + .'- 如果您要创建公网VPN网关,则取值为:**10**、**100**、**200**、**500**或**1000**。'."\n" + .'- 如果您要创建私网VPN网关,则取值为:**200**或**1000**。'."\n" + ."\n" + .'>部分地域下VPN网关支持的最大带宽规格为500 Mbps。更多信息,请参见[VPN网关使用限制](~~65290~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '5', + ], + ], + [ + 'name' => 'EnableIpsec', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启IPsec-VPN功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启IPsec-VPN功能。'."\n" + ."\n" + .'- **false**:不开启IPsec-VPN功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + [ + 'name' => 'EnableSsl', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启SSL-VPN功能。取值:'."\n" + ."\n" + .'- **true**:开启SSL-VPN功能。'."\n" + ."\n" + .'- **false**(默认值):不开启SSL-VPN功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'SslConnections', + 'in' => 'query', + 'schema' => [ + 'description' => '允许同时连接的最大客户端数量。取值:**5**(默认值)、**10**、**20**、**50**、**100**、**200**、**500**、**1000**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定VPN网关实例关联的交换机实例。 '."\n" + ."\n" + .'- 在支持创建双隧道模式IPsec-VPN连接的地域,本参数必填,您必须指定一个交换机实例,同时您还要指定**DisasterRecoveryVSwitchId**参数的值。'."\n" + .'- 在支持创建单隧道模式IPsec-VPN连接的地域,如果您不指定交换机实例,系统将从VPC下自动选择一个交换机实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1j5miw2bae9s2vt****', + ], + ], + [ + 'name' => 'VpnType', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关类型。取值:'."\n" + .'- **Normal**(默认值):普通型。'."\n" + .'- **NationalStandard**:国密型。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + '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' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的网络类型。取值:'."\n" + ."\n" + .'- **public**(默认值):公网VPN网关。'."\n" + .'- **private**:私网VPN网关。', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + ], + ], + [ + 'name' => 'DisasterRecoveryVSwitchId', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '指定VPN网关实例关联的第二个交换机实例。'."\n" + ."\n" + .'- 如果当前地域支持创建双隧道模式的IPsec-VPN连接,则本参数必填。'."\n" + .'- 您需要从VPN网关实例关联的VPC实例下指定两个分布在不同可用区的交换机实例,以实现IPsec-VPN连接可用区级别的容灾。'."\n" + .'- 对于仅支持一个可用区的地域 ,不支持可用区级别的容灾,建议您在该可用区下指定两个不同的交换机实例以实现IPsec-VPN连接的高可用,支持指定相同的交换机实例。'."\n" + ."\n" + .'关于支持双隧道模式IPsec-VPN连接的地域和可用区的信息,请参见[IPsec-VPN连接升级为双隧道模式](~~2358946~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-p0wiz7obm0tbimu4r****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所属的资源组ID。'."\n" + ."\n" + .'- 您可以调用[ListResourceGroups](~~158855~~)接口查询资源组ID。'."\n" + .'- 如果您未指定资源组ID,VPN网关创建完成后将归属于默认资源组。'."\n" + .'- VPN网关创建完成后,如果您在VPN网关下创建SSL服务端、SSL客户端证书、IPsec服务端或IPsec连接(指IPsec连接绑定VPN网关的场景),则这些资源将直接归属在VPN网关所属的资源组下,且不支持修改。'."\n" + ."\n" + .' 如果您修改了VPN网关所属的资源组,则上述资源所属的资源组也将一并被修改。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-uf68lxhgr7ftbqr3p****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'EB2C156A-41F8-49CC-A756-D55AFC8BFD69', + ], + 'Name' => [ + 'description' => 'VPN网关的名称。', + 'type' => 'string', + 'example' => 'MYVPN', + ], + 'OrderId' => [ + 'description' => '订单ID。'."\n" + ."\n" + .'如果您未选择自动支付VPN网关的账单,请前往[阿里云费用与成本](https://usercenter2.aliyun.com/home)完成支付。'."\n" + .'如果您未选择自动支付VPN网关的账单,请前往[阿里云费用与成本](https://usercenter2-intl.aliyun.com/billing/#/account/overview)完成支付。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '208240895400460', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'The specified VPC id does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified value of Name not supported.', + ], + [ + 'errorCode' => 'InvalidSpec.NotFound', + 'errorMessage' => 'The specified Spec does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid', + ], + [ + 'errorCode' => 'ChargeType.NotSupport', + 'errorMessage' => 'The specified charge type is not support.', + ], + [ + 'errorCode' => 'InventoryNotEnough', + 'errorMessage' => 'The inventory is not enough.', + ], + [ + 'errorCode' => 'UnnecessarySslConnection', + 'errorMessage' => 'The SSL connection is unnecessary for ssl vpn disabled.', + ], + [ + 'errorCode' => 'InvalidVpnEnable', + 'errorMessage' => 'Either IPsec or SSL VPN must be set enable.', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified vswitchId is not found.', + ], + [ + 'errorCode' => 'OperationFailed.InventoryNotEnough', + 'errorMessage' => 'No enough available resource. Try another vswitch with different available zone.', + ], + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'Operating shared resources is forbidden.', + ], + [ + 'errorCode' => 'OperationFailed.IpNotEnough', + 'errorMessage' => 'Operation failed because private ip address of the virtual switch is not enough.', + ], + [ + 'errorCode' => 'Forbidden.NoSLRPermission', + 'errorMessage' => 'User not authorized to create service linked role.', + ], + [ + 'errorCode' => 'OperationFailed.VSwitchConflict', + 'errorMessage' => 'The vswitch can\'t create vpn. Try another vswitch.', + ], + [ + 'errorCode' => 'OperationFailed.AzNotSupport', + 'errorMessage' => 'Current available zone can\'t create vpn. Try another vswitch with different available zone.', + ], + [ + 'errorCode' => 'OperationFailed.NetworkTypeNotMatch', + 'errorMessage' => 'Create NationalStandard vpn with private networkType is unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.SslNotSupport', + 'errorMessage' => 'Enable ssl vpn with private networkType is unsupported.', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.SecondVswitchNotSupport', + 'errorMessage' => 'The available zone of vswitch2 not supported.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.FirstVswitchNotSupport', + 'errorMessage' => 'The available zone of vswitch1 not supported.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.VswitchIdShouldDifferent', + 'errorMessage' => 'The VSwitch ids should be different.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.FirstVswitchIpNotEnough', + 'errorMessage' => 'The ip of vswitch1 not enough.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.SecondVswitchIpNotEnough', + 'errorMessage' => 'The ip of vswitch2 not enough.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.ZoneIdShouldDifferent', + 'errorMessage' => 'Two vSwitches should belong to different Availability Zones.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 6000, + 'maxCallbackTimes' => 100, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpnGatewayId\\": \\"vpn-uf68lxhgr7ftbqr3p****\\",\\n \\"RequestId\\": \\"EB2C156A-41F8-49CC-A756-D55AFC8BFD69\\",\\n \\"Name\\": \\"MYVPN\\",\\n \\"OrderId\\": 208240895400460\\n}","errorExample":""},{"type":"xml","example":"\\n vpn-uf68lxhgr7ftbqr3p****\\n EB2C156A-41F8-49CC-A756-D55AFC8BFD69\\n MYVPN\\n 208240895400460\\n","errorExample":""}]', + 'title' => '创建VPN网关', + 'description' => '- 在您创建VPN网关前,建议您先了解VPN网关的使用限制。更多信息,请参见[VPN网关使用限制](~~65290~~)。'."\n" + .'- 部分地域的VPN网关实例默认仅支持创建双隧道模式IPsec-VPN连接,您在这些地域调用`CreateVpnGateway`接口创建VPN网关实例时,除了需要输入必填参数外,还需要输入**VSwitchId**和**DisasterRecoveryVSwitchId**参数的值。关于支持双隧道模式IPsec-VPN连接的地域和可用区信息,请参见[IPsec-VPN连接升级为双隧道模式](~~2358946~~)。'."\n" + .'- **CreateVpnGateway**接口属于异步接口,即系统先返回一个实例ID,但该VPN网关尚未创建成功,系统后台的创建任务仍在进行。您可以调用 [DescribeVpnGateway](~~73720~~)查询VPN网关的创建状态:'."\n" + .' '."\n" + .' - 当VPN网关处于**provisioning**状态时,表示VPN网关正在创建中。'."\n" + .' - 当VPN网关处于**active**状态时,表示VPN网关创建成功。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssociateVpnGatewayWithCertificate' => [ + 'summary' => '调用AssociateVpnGatewayWithCertificate接口为VPN网关绑定证书。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。'."\n" + ."\n" + .'>仅国密型VPN网关支持绑定证书。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + ], + [ + 'name' => 'CertificateType', + 'in' => 'query', + 'schema' => [ + 'description' => '证书类型。取值:'."\n" + ."\n" + .'- **Encryption**:表示指定SSL证书为加密证书。'."\n" + .'- **Signature**:表示指定SSL证书为签名证书。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Signature', + ], + ], + [ + 'name' => 'CertificateId', + 'in' => 'query', + 'schema' => [ + 'description' => '证书ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '6bfe4218-ea1d****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:表示只预检此次请求合法性,不会进行绑定操作。检查项包括是否填写了必需参数、请求格式、实例状态等。如果检查不通过,则返回对应错误;如果检查通过,则返回对应请求ID。'."\n" + ."\n" + .'- **false**(默认值):表示发送正常请求,通过检查后直接将VPN网关和证书进行绑定。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.CertificateType', + 'errorMessage' => 'The specified certificate type (%s) is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.NotNationalStandard', + 'errorMessage' => 'The VPN gateway is not national standard.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'OperationFailed.NoRamPermission', + 'errorMessage' => 'VPN service has no permission to operate your KMS instances.', + ], + [ + 'errorCode' => 'OperationFailed.AssociationExist', + 'errorMessage' => 'The association already exists.', + ], + [ + 'errorCode' => 'OperationFailed.AnotherAssociationExist', + 'errorMessage' => 'The VPN gateway has associated with %s.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'The system is busy. Please try again later.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidCertificate', + 'errorMessage' => 'The specified certificate is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'Forbidden.NoSlrPermission', + 'errorMessage' => 'User not authorized to create service linked role.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidCertificateId.NotFound', + 'errorMessage' => 'The specified certificate ID (%s) does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '将VPN网关与证书关联', + 'description' => '在将VPN网关和SSL证书进行绑定前,请先了解以下信息:'."\n" + ."\n" + .'- 仅国密型VPN网关支持绑定SSL证书,您需要为国密型VPN网关绑定2个SSL证书,一个作为加密证书,一个作为签名证书。'."\n" + .'- SSL证书需使用国密算法。'."\n" + .'- 在同一个VPN网关实例下,不支持将同一个SSL证书同时指定为加密证书和签名证书。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 首次绑定VPN网关和SSL证书时,系统会自动创建一个名称为AliyunServiceRoleForVPNCertificate的服务关联角色,并且为该角色添加名称AliyunServiceRolePolicyForVPNCertificate的权限策略,授予VPN网关拥有访问其他云资源的权限。更多信息,请参见[AliyunServiceRoleForVPNCertificate](~~203323~~)。'."\n" + ."\n" + .''."\n" + ."\n" + .'- **AssociateVpnGatewayWithCertificate**接口属于异步接口,即系统先返回一个请求ID,但该VPN网关尚未成功绑定SSL证书,系统后台的绑定任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)接口查询SSL证书的绑定状态:'."\n" + .' - 当VPN网关处于**updating**状态时,表示SSL证书正在绑定中。'."\n" + .' - 当VPN网关处于**active**状态时,表示SSL证书绑定成功。'."\n" + .'- **AssociateVpnGatewayWithCertificate**接口不支持为同一个VPN网关并发绑定SSL证书。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'请确保您已经在阿里云数字证书管理服务控制台拥有2个使用国密算法的SSL证书。关于SSL证书的更多信息,请参见[什么是数字证书管理服务](~~28535~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVpnGateway' => [ + 'summary' => '调用DeleteVpnGateway接口删除指定的VPN网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => ' VPN网关实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '>0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.VpnConnection', + 'errorMessage' => 'There are vpn connections on specified customer gateway not deleted.', + ], + [ + 'errorCode' => 'DependencyViolation.SslVpnServer', + 'errorMessage' => 'There is SSL VPN server on specified vpn gateway not deleted.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'DependencyViolation.GreTunnel', + 'errorMessage' => 'There is Gre tunnel on specified vpn gateway not deleted.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'DependencyViolation.IpsecServer', + 'errorMessage' => 'the resource cannot be deleted because the resource has an ipsec server dependency.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'ForbiddenRelease', + 'errorMessage' => 'Forbidden to release a prepaid instance within validity period', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 6000, + 'maxCallbackTimes' => 100, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\">0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":"{ \\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}"},{"type":"xml","example":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n"}]', + 'title' => '删除指定的VPN网关', + 'description' => '> 无法删除已有IPsec连接的VPN网关。'."\n" + .' '."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DissociateVpnGatewayWithCertificate' => [ + 'summary' => '调用DissociateVpnGatewayWithCertificate接口解除VPN网关和证书的绑定关系。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + ], + [ + 'name' => 'CertificateType', + 'in' => 'query', + 'schema' => [ + 'description' => '证书类型。取值:'."\n" + ."\n" + .'- **Encryption**:加密证书。'."\n" + ."\n" + .'- **Signature**:签名证书。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Encryption', + ], + ], + [ + 'name' => 'CertificateId', + 'in' => 'query', + 'schema' => [ + 'description' => '证书ID。'."\n" + ."\n" + .'> 证书ID是指SSL证书与VPN网关绑定后产生的证书ID,并非SSL证书本身的证书ID。'."\n" + .'您可以调用[ListVpnCertificateAssociations](~~2521961~~)接口查询证书ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '6bfe4218-ea1d****', + ], + ], + [ + '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*******', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:表示只预检此次请求合法性,不会进行解绑操作。检查项包括是否填写了必需参数、请求格式、实例状态等。如果检查不通过,则返回对应错误;如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):表示发送正常请求,通过检查后直接对VPN网关和SSL证书进行解绑。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.CertificateType', + 'errorMessage' => 'The specified certificate type (%s) is invalid.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidAssociateRelation.NotFound', + 'errorMessage' => 'The specified association does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\"\\n}","errorExample":""},{"type":"xml","example":" \\r\\n611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\r\\n ","errorExample":""}]', + 'title' => '分离VPN网关与证书', + 'description' => '- **DissociateVpnGatewayWithCertificate**接口属于异步接口,即系统先返回一个请求ID,但该VPN网关尚未解除与SSL证书的绑定,系统后台的解绑任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)接口查询VPN网关实例的状态,来确认SSL证书的解绑状态:'."\n" + .' - 当VPN网关处于**updating**状态时,表示SSL证书正在解绑中。'."\n" + .' - 当VPN网关处于**active**状态时,表示SSL证书解绑成功。'."\n" + .'- **DissociateVpnGatewayWithCertificate**接口不支持为同一个VPN网关并发解绑SSL证书。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVpnGatewayAttribute' => [ + 'summary' => '调用ModifyVpnGatewayAttribute接口修改VPN网关的名称、描述信息或路由自动传播功能。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => ' VPN网关实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的新名称。 '."\n" + ."\n" + .'长度为2~100个字符,不能以`http://`或`https://`开头,需要以大写或小写字母开头,后面可包含大小写字母、数字、下划线(_)、短划线(-)和半角句号(.),不支持其他特殊字符。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'myvpn', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关新的描述信息。 '."\n" + .' '."\n" + .'描述信息长度为1~100个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'AutoPropagate', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启VPN网关的路由自动传播功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .' 开启路由自动传播后,VPN网关实例会自动学习VPC实例系统路由表中的系统路由,并向VPC实例系统路由表自动传播本地数据中心的路由。'."\n" + .'- **false**:关闭。'."\n" + .' '."\n" + .' 关闭路由自动传播前,请确保VPN网关下的所有IPsec连接已关闭BGP动态路由功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'VPN网关实例所属VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp1ub1yt9cvakoel****', + ], + 'Status' => [ + 'description' => 'VPN网关的状态。'."\n" + ."\n" + .'- **init**:初始化。'."\n" + .'- **provisioning**:准备中。'."\n" + .'- **active**:正常。'."\n" + .'- **updating**:更新中。'."\n" + .'- **deleting**:删除中。', + 'type' => 'string', + 'example' => 'active', + ], + 'InternetIp' => [ + 'description' => '- 在VPN网关实例支持创建单隧道模式IPsec-VPN连接的场景下,该地址为VPN网关实例的IP地址,可用于创建IPsec-VPN连接或SSL-VPN连接。'."\n" + ."\n" + .'- 在VPN网关实例支持创建双隧道模式IPsec-VPN连接的场景下,该地址为用于创建IPsec-VPN连接的第一个IP地址,不能用于创建SSL-VPN连接。'."\n" + ."\n" + .' 在VPN网关实例支持创建双隧道模式IPsec-VPN连接的场景下,系统会为VPN网关实例分配两个IPsec地址,用于创建双隧道模式的IPsec-VPN连接。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'Spec' => [ + 'description' => 'VPN网关实例的带宽规格。单位:Mbps。', + 'type' => 'string', + 'example' => '5M', + ], + 'CreateTime' => [ + 'description' => 'VPN网关实例的创建时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建VPN网关实例时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492753580000', + ], + 'AutoPropagate' => [ + 'description' => 'BGP路由是否自动传播到VPC。取值:'."\n" + ."\n" + .'- **true**:自动传播。'."\n" + ."\n" + .'- **false**:不自动传播。'."\n" + ."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例的ID。', + 'type' => 'string', + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + 'IntranetIp' => [ + 'description' => '系统部署VPN网关实例时占用的交换机私网IP地址。'."\n" + ."\n" + .'仅支持单隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数,且该VPN网关实例需已开启IPsec-VPN功能。', + 'type' => 'string', + 'example' => '172.16.10.46', + ], + 'EndTime' => [ + 'description' => 'VPN网关实例的到期时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至VPN网关实例到期时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1495382400000', + ], + 'VSwitchId' => [ + 'description' => 'VPN网关实例关联的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp1y9ovl1cu9ou4tv****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + 'Description' => [ + 'description' => 'VPN网关实例的描述信息。', + 'type' => 'string', + 'example' => 'test', + ], + 'EnableBgp' => [ + 'description' => 'VPN网关BGP功能的开启状态。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'BusinessStatus' => [ + 'description' => 'VPN网关实例的付费状态。取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Name' => [ + 'description' => 'VPN网关实例的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'DisasterRecoveryInternetIp' => [ + 'description' => '系统为VPN网关实例分配的用于创建IPsec-VPN连接的第二个IP地址。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => '116.11.XX.XX', + ], + 'DisasterRecoveryVSwitchId' => [ + 'description' => 'VPN网关实例关联的第二个交换机ID。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => 'vsw-p0w95ql6tmr2ludkt****', + ], + 'SslVpnInternetIp' => [ + 'description' => 'SSL-VPN连接的IP地址。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的公网网络类型的VPN网关实例开启SSL-VPN功能后,才会返回当前参数。', + 'type' => 'string', + 'example' => '116.33.XX.XX', + ], + 'ResourceGroupId' => [ + 'description' => 'VPN网关实例所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'InvalidDescription', + 'errorMessage' => 'The description is not valid', + ], + [ + 'errorCode' => 'OperationUnsupported.EnableBgp', + 'errorMessage' => 'Current version of the VPN does not support enable BGP.', + ], + [ + 'errorCode' => 'OperationFailed.VpnConnectionExist', + 'errorMessage' => 'Auto propagate cannot be closed when VPN connections with BGP enabled exist.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'OperationFailed.CenLevelNotSupport', + 'errorMessage' => 'When the VPC to which the VPN gateway belongs is attached to a FULL-mode CEN, the VPN gateway cannot enable BGP.', + ], + [ + 'errorCode' => 'OperationFailed.VpcRoutePropagationDisable', + 'errorMessage' => 'The VPC system routing table does not enable the acceptance of propagated routes.', + ], + [ + 'errorCode' => 'OperationFailed.VpcRoutePublishEnabledInTR', + 'errorMessage' => 'A VPC supports at most one dynamic route learning source. In the forwarding router, disable route synchronization for the VPC.', + ], + [ + 'errorCode' => 'OperationFailed.VpcRoutePublishEnabledInECR', + 'errorMessage' => 'VPC supports only one dynamic route learning source at most. Please remove the VPC from ECR.', + ], + [ + 'errorCode' => 'OperationFailed.BondingVpnNotSupportBGP', + 'errorMessage' => 'The architecture does not support BGP capabilities (single tunnel bonding architecture VPN gateway).', + ], + [ + 'errorCode' => 'OperationFailed.StaleBGPRoutes', + 'errorMessage' => 'BGP routes are still there and automatic route propagation cannot be disabled.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-bp1ub1yt9cvakoel****\\",\\n \\"Status\\": \\"active\\",\\n \\"InternetIp\\": \\"116.62.XX.XX\\",\\n \\"Spec\\": \\"5M\\",\\n \\"CreateTime\\": 1492753580000,\\n \\"AutoPropagate\\": true,\\n \\"VpnGatewayId\\": \\"vpn-bp1q8bgx4xnkm2ogj****\\",\\n \\"IntranetIp\\": \\"172.16.10.46\\",\\n \\"EndTime\\": 1495382400000,\\n \\"VSwitchId\\": \\"vsw-bp1y9ovl1cu9ou4tv****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"Description\\": \\"test\\",\\n \\"EnableBgp\\": true,\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Name\\": \\"test\\",\\n \\"DisasterRecoveryInternetIp\\": \\"116.11.XX.XX\\",\\n \\"DisasterRecoveryVSwitchId\\": \\"vsw-p0w95ql6tmr2ludkt****\\",\\n \\"SslVpnInternetIp\\": \\"116.33.XX.XX\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vpc-bp1ub1yt9cvakoel****\\n active\\n 116.62.XX.XX\\n 5M\\n 1492753580000\\n true\\n vpn-bp1q8bgx4xnkm2ogj****\\n 1495382400000\\n vsw-bp1y9ovl1cu9ou4tv****\\n 54B48E3D-DF70-471B-AA93-08E683A1B457\\n test\\n true\\n Normal\\n vsw-p0w95ql6tmr2ludkt****\\n 116.11.XX.XX\\n 116.33.XX.XX\\n test\\n","errorExample":""}]', + 'title' => '修改VPN网关的名称、描述信息或路由自动传播功能', + 'description' => '- **ModifyVpnGatewayAttribute**接口属于异步接口,即系统先返回VPN网关的信息,但该VPN网关的配置尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询VPN网关的配置的修改状态:'."\n" + .' - 当VPN网关处于**updating**状态时,表示VPN网关的配置正在修改中。'."\n" + .' - 当VPN网关处于**active**状态时,表示VPN网关的配置修改成功。'."\n" + .'- **ModifyVpnGatewayAttribute**接口不支持并发修改同一个VPN网关的配置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'MoveVpnResourceGroup' => [ + 'summary' => '修改VPN网关资源所属的资源组。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpn-8vb3lzn7biepthri8****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。'."\n" + ."\n" + .'- **VpnGateway**:VPN网关实例。'."\n" + ."\n" + .' 改变VPN网关实例所属的资源组后,将一并修改该VPN网关实例下IPsec服务端、SSL服务端、SSL客户端证书、IPsec连接(指绑定VPN网关实例的IPsec连接)所属的资源组。'."\n" + .'- **CustomerGateway**:用户网关实例。'."\n" + .'- **VpnAttachment**:IPsec连接实例。'."\n" + .' '."\n" + .' 指绑定转发路由器实例的IPsec连接或未绑定任何资源的IPsec连接。', + 'type' => 'string', + 'required' => true, + 'example' => 'VpnGateway', + ], + ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的新资源组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'rg-acfmzs372yg****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-zhangjiakou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '89ED47AF-3319-566E-A5F5-94E3F47F54A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'InstanceId is not found.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceId does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceType', + 'errorMessage' => 'Invalid Resource Type value.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89ED47AF-3319-566E-A5F5-94E3F47F54A8\\"\\n}","type":"json"}]', + 'title' => '修改VPN网关资源所属的资源组', + ], + 'DescribeVpnGateway' => [ + 'summary' => '调用DescribeVpnGateway接口查询指定VPN网关的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' VPN网关所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => ' VPN网关实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1r3v1xqkl0w519g****', + ], + ], + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含未生效的订单数据。取值:'."\n" + ."\n" + .'- **false**(默认值):不包含未生效的订单数据。'."\n" + ."\n" + .'- **true**:包含未生效的订单数据。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'VpnType' => [ + 'description' => 'VPN网关类型。取值:**Normal**,表示普通型。'."\n" + ."\n" + .''."\n" + ."\n" + .'VPN网关类型。取值:'."\n" + ."\n" + .'- **Normal**:普通型。'."\n" + ."\n" + .'- **NationalStandard**:国密型。'."\n" + ."\n" + .'', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Status' => [ + 'description' => 'VPN网关的状态。取值:'."\n" + ."\n" + .'- **init**:初始化。'."\n" + ."\n" + .'- **provisioning**:准备中。'."\n" + ."\n" + .'- **active**:正常。'."\n" + ."\n" + .'- **updating**:更新中。'."\n" + ."\n" + .'- **deleting**:删除中。', + 'type' => 'string', + 'example' => 'init', + ], + 'VpcId' => [ + 'description' => 'VPN网关所属VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp19m2yx1m5q0avyq****', + ], + 'SslMaxConnections' => [ + 'description' => 'SSL-VPN并发连接用户数的规格。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'Spec' => [ + 'description' => 'VPN网关的带宽规格。单位:Mbps。', + 'type' => 'string', + 'example' => '5', + ], + 'InternetIp' => [ + 'description' => '- 在VPN网关实例支持创建单隧道模式IPsec-VPN连接的场景下,该地址为VPN网关实例的IP地址,可用于创建IPsec-VPN连接或SSL-VPN连接。'."\n" + ."\n" + .'- 在VPN网关实例支持创建双隧道模式IPsec-VPN连接的场景下,该地址为用于创建IPsec-VPN连接的第一个IP地址,不能用于创建SSL-VPN连接。'."\n" + ."\n" + .' 在VPN网关实例支持创建双隧道模式IPsec-VPN连接的场景下,系统会为VPN网关实例分配两个IPsec地址,用于创建双隧道模式的IPsec-VPN连接。', + 'type' => 'string', + 'example' => '47.22.XX.XX', + ], + 'CreateTime' => [ + 'description' => '创建VPN网关的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建VPN网关时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1495382400000', + ], + 'AutoPropagate' => [ + 'description' => '是否已开启VPN网关的路由自动传播功能。取值:'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ChargeType' => [ + 'description' => '付费类型。仅取值:'."\n" + ."\n" + .'**POSTPAY**,按量计费。'."\n" + ."\n" + .'**POSTPAY**,按量计费。'."\n" + ."\n" + .'**Prepay**,包年包月。'."\n", + 'type' => 'string', + 'example' => '中国站示例值:Prepay,国际站示例值:POSTPAY', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1r3v1xqkl0w519g****', + ], + 'Tag' => [ + 'description' => '系统自动生成的VPN网关标签。'."\n" + ."\n" + .'- **VpnEnableBgp**:表示VPN网关是否支持BGP功能。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。'."\n" + .'- **VisuallySsl**:表示VPN网关是否支持查看SSL客户端的连接信息。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。'."\n" + .'- **PbrPriority**:表示VPN网关是否支持为策略路由配置策略优先级。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。'."\n" + .'- **VpnNewImage**:表示VPN网关是否为新型VPN网关。'."\n" + .' - **true**:是。'."\n" + .' - **false**:否。'."\n" + .'- **description**:表示VPN网关的描述信息,仅供系统内部使用。'."\n" + .'- **VpnVersion**:表示VPN网关的版本号。'."\n" + .'- **IDaaSNewVersion**:表示VPN网关是否支持绑定EIAM 2.0实例。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。', + 'type' => 'string', + 'example' => '{\\"VpnEnableBgp\\":\\"true\\",\\"VisuallySsl\\":\\"true\\",\\"PbrPriority\\":\\"true\\",\\"VpnNewImage\\":\\"true\\",\\"description\\":\\"转发1.3.24\\",\\"VpnVersion\\":\\"v1.2.4\\",\\"IDaaSNewVersion\\":\\"true\\"}', + ], + 'IpsecVpn' => [ + 'description' => '是否开启了IPsec-VPN功能。取值:'."\n" + ."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'EndTime' => [ + 'description' => 'VPN网关到期时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至VPN网关到期时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1544666102000', + ], + 'VSwitchId' => [ + 'description' => 'VPN网关所属交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-bp1dmzugdikc6hdgx****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '27E4E088-8DE0-4672-BF5C-0A412389DB9E', + ], + 'Description' => [ + 'description' => 'VPN网关的描述信息。', + 'type' => 'string', + 'example' => 'vpngatewaydescription', + ], + 'EnableBgp' => [ + 'description' => 'VPN网关BGP功能的开启状态。取值:'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'BusinessStatus' => [ + 'description' => 'VPN网关的付费状态。取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'SslVpn' => [ + 'description' => 'SSL-VPN功能的开启状态。取值:'."\n" + ."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'Name' => [ + 'description' => 'VPN网关的名称。', + 'type' => 'string', + 'example' => 'vpngatewayname', + ], + 'ReservationData' => [ + 'description' => '未生效的订单数据。'."\n" + ."\n" + .'>仅**IncludeReservationData**传入**true**才会返回该组参数。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '未生效订单状态。取值:'."\n" + ."\n" + .'- **1**:表示续费或续费变配的订单未生效。'."\n" + ."\n" + .'- **2**:表示临时升配的订单已生效。在到达还原时间后,系统会将VPN网关规格恢复到临时升配前的规格。此时**ReservationIpsec**、**ReservationMaxConnections**、**ReservationSpec**、**ReservationSsl**表示为VPN网关临时升配前的规格。', + 'type' => 'string', + 'example' => '1', + ], + 'ReservationOrderType' => [ + 'description' => '未生效订单类型。取值:'."\n" + ."\n" + .'- **RENEWCHANGE**:续费变配。'."\n" + ."\n" + .'- **TEMP_UPGRADE**:临时升配。'."\n" + ."\n" + .'- **RENEW**:续费。', + 'type' => 'string', + 'example' => 'TEMP_UPGRADE', + ], + 'ReservationIpsec' => [ + 'description' => '未生效订单IPsec-VPN功能开启状态。取值:'."\n" + ."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'ReservationSpec' => [ + 'description' => '未生效订单的带宽规格。单位:Mbps。', + 'type' => 'string', + 'example' => '5', + ], + 'ReservationSsl' => [ + 'description' => '未生效订单SSL-VPN功能开启状态。取值:'."\n" + ."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'ReservationMaxConnections' => [ + 'description' => '未生效订单SSL-VPN并发连接用户数的规格。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ReservationEndTime' => [ + 'description' => '如果未生效订单类型为**TEMP_UPGRADE**(临时升配)时,该参数表示为临时升配的还原时间。'."\n" + ."\n" + .'如果未生效订单类型为**RENEWCHANGE**(续费变配)或**RENEW**(续费)时,该参数表示为续费或续费变配开始生效时间。', + 'type' => 'string', + 'example' => '2020-07-20T16:00:00Z', + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'VPN网关实例绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPN网关实例绑定的标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'aaa', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'bbb', + ], + ], + ], + ], + ], + ], + 'NetworkType' => [ + 'description' => 'VPN网关的网络类型。'."\n" + ."\n" + .'- **public**:公网VPN网关。'."\n" + .'- **private**:私网VPN网关。', + 'type' => 'string', + 'example' => 'public', + ], + 'DisasterRecoveryInternetIp' => [ + 'description' => '系统为VPN网关实例分配的用于创建IPsec-VPN连接的第二个IP地址。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => '47.91.XX.XX', + ], + 'DisasterRecoveryVSwitchId' => [ + 'description' => 'VPN网关实例关联的第二个交换机ID。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => 'vsw-p0w95ql6tmr2ludkt****', + ], + 'SslVpnInternetIp' => [ + 'description' => 'SSL-VPN连接的IP地址。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的公网网络类型的VPN网关实例开启SSL-VPN功能后,才会返回当前参数。', + 'type' => 'string', + 'example' => '47.74.XX.XX', + ], + 'ResourceGroupId' => [ + 'description' => 'VPN网关所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + 'EniInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EniInstanceId' => [ + 'description' => '系统为VPN网关实例创建的弹性网卡ENI(Elastic Network Interfaces)列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'ENI ID。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => 'eni-7xvcxgmd4y2ypibn****', + ], + ], + ], + ], + 'GatewayType' => [ + 'description' => 'VPN 网关类型,取值:'."\n" + .'- **Traditional**:传统型VPN网关,覆盖IPSec功能和SSL功能'."\n" + .'- **Enhanced.SiteToSite**:增强型站点入云VPN,只覆盖IPSec功能', + 'type' => 'string', + 'example' => 'Enhanced.SiteToSite', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpnType\\": \\"Normal\\",\\n \\"Status\\": \\"init\\",\\n \\"VpcId\\": \\"vpc-bp19m2yx1m5q0avyq****\\",\\n \\"SslMaxConnections\\": 5,\\n \\"Spec\\": \\"5\\",\\n \\"InternetIp\\": \\"47.22.XX.XX\\",\\n \\"CreateTime\\": 1495382400000,\\n \\"AutoPropagate\\": true,\\n \\"ChargeType\\": \\"中国站示例值:Prepay,国际站示例值:POSTPAY\\",\\n \\"VpnGatewayId\\": \\"vpn-bp1r3v1xqkl0w519g****\\",\\n \\"Tag\\": \\"{\\\\\\\\\\\\\\"VpnEnableBgp\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"VisuallySsl\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"PbrPriority\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"VpnNewImage\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"description\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"转发1.3.24\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"VpnVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"v1.2.4\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"IDaaSNewVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"IpsecVpn\\": \\"enable\\",\\n \\"EndTime\\": 1544666102000,\\n \\"VSwitchId\\": \\"vsw-bp1dmzugdikc6hdgx****\\",\\n \\"RequestId\\": \\"27E4E088-8DE0-4672-BF5C-0A412389DB9E\\",\\n \\"Description\\": \\"vpngatewaydescription\\",\\n \\"EnableBgp\\": true,\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"SslVpn\\": \\"enable\\",\\n \\"Name\\": \\"vpngatewayname\\",\\n \\"ReservationData\\": {\\n \\"Status\\": \\"1\\",\\n \\"ReservationOrderType\\": \\"TEMP_UPGRADE\\",\\n \\"ReservationIpsec\\": \\"enable\\",\\n \\"ReservationSpec\\": \\"5\\",\\n \\"ReservationSsl\\": \\"enable\\",\\n \\"ReservationMaxConnections\\": 5,\\n \\"ReservationEndTime\\": \\"2020-07-20T16:00:00Z\\"\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"aaa\\",\\n \\"Value\\": \\"bbb\\"\\n }\\n ]\\n },\\n \\"NetworkType\\": \\"public\\",\\n \\"DisasterRecoveryInternetIp\\": \\"47.91.XX.XX\\",\\n \\"DisasterRecoveryVSwitchId\\": \\"vsw-p0w95ql6tmr2ludkt****\\",\\n \\"SslVpnInternetIp\\": \\"47.74.XX.XX\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"EniInstanceIds\\": {\\n \\"EniInstanceId\\": [\\n \\"eni-7xvcxgmd4y2ypibn****\\"\\n ]\\n },\\n \\"GatewayType\\": \\"Enhanced.SiteToSite\\"\\n}","errorExample":""},{"type":"xml","example":"\\n Normal\\n init\\n vpc-bp19m2yx1m5q0avyq****\\n 5\\n 5\\n 47.22.XX.XX\\n 1495382400000\\n true\\n 中国站示例值:Prepay,国际站示例值:POSTPAY\\n vpn-bp1r3v1xqkl0w519g****\\n {\\\\\\"VpnEnableBgp\\\\\\":\\\\\\"true\\\\\\",\\\\\\"VisuallySsl\\\\\\":\\\\\\"true\\\\\\",\\\\\\"PbrPriority\\\\\\":\\\\\\"true\\\\\\",\\\\\\"VpnNewImage\\\\\\":\\\\\\"true\\\\\\",\\\\\\"description\\\\\\":\\\\\\"转发1.3.7\\\\\\",\\\\\\"VpnVersion\\\\\\":\\\\\\"v1.2.4\\\\\\"}\\n enable\\n 1544666102000\\n vsw-bp1dmzugdikc6hdgx****\\n 27E4E088-8DE0-4672-BF5C-0A412389DB9E\\n vpngatewaydescription\\n true\\n Normal\\n enable\\n vpngatewayname\\n vsw-p0w95ql6tmr2ludkt****\\n 47.91.XX.XX\\n 47.74.XX.XX\\n \\n 1\\n TEMP_UPGRADE\\n enable\\n 5\\n enable\\n 5\\n 2020-07-20T16:00:00Z\\n \\n \\n aaa\\n bbb\\n \\n public\\n","errorExample":""}]', + 'title' => '查询指定VPN网关的详细信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVpnGateways' => [ + 'summary' => '调用DescribeVpnGateways接口查询指定地域下已创建的VPN网关。', + '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' => 'VPN网关所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => ' VPN网关所属专有网络VPC(Virtual Private Cloud)的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1m3i0kn1nd4wiw9****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-bp17lofy9fd0dnvzv****', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的状态。取值:'."\n" + ."\n" + .'- **init** :初始化。'."\n" + ."\n" + .'- **provisioning** :准备中。'."\n" + ."\n" + .'- **active** :正常。'."\n" + ."\n" + .'- **updating** :更新中。'."\n" + ."\n" + .'- **deleting** :删除中。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'active', + ], + ], + [ + 'name' => 'BusinessStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的付费状态。取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + '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' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含未生效的订购数据。取值:'."\n" + ."\n" + .'- **false**(默认值):不包含未生效的订购数据。'."\n" + ."\n" + .'- **true**:包含未生效的订购数据。', + 'type' => 'boolean', + 'required' => false, + 'docRequired' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'VPN网关绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPN网关绑定的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。'."\n" + ."\n" + .'一次最多支持输入20个标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。'."\n" + ."\n" + .'一个标签键对应一个标签值。一次最多支持输入20个标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + [ + 'name' => 'GatewayType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => 'VPN 网关类型,取值:'."\n" + .'Traditional:传统型VPN网关,覆盖IPsec功能和SSL功能'."\n" + .'Enhance.SiteToSite:增强型站点入云VPN,只覆盖IPsec功能', + 'description' => 'VPN 网关类型,取值:'."\n" + .'Traditional:传统型VPN网关,覆盖IPsec功能和SSL功能'."\n" + .'Enhance.SiteToSite:增强型站点入云VPN,只覆盖IPsec功能', + 'type' => 'string', + 'required' => false, + 'example' => 'Enhance.SiteToSite', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DF11D6F6-E35A-41C3-9B20-6FC8A901FE65', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VpnGateways' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VpnGateway' => [ + 'description' => 'VPN网关信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPN网关的信息。', + 'type' => 'object', + 'properties' => [ + 'VpnType' => [ + 'description' => 'VPN网关类型。'."\n" + .' '."\n" + .''."\n" + ."\n" + .'- **Normal**:普通型。'."\n" + .'- **NationalStandard**:国密型。'."\n" + ."\n" + .''."\n" + ."\n" + .'取值:**Normal**,表示普通型。'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'Status' => [ + 'description' => 'VPN网关的状态。'."\n" + ."\n" + .'- **init** :初始化。'."\n" + ."\n" + .'- **provisioning** :准备中。'."\n" + ."\n" + .'- **active** :正常。'."\n" + ."\n" + .'- **updating** :更新中。'."\n" + ."\n" + .'- **deleting** :删除中。'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'VpcId' => [ + 'description' => ' VPN网关所属VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp1m3i0kn1nd4wiw9****', + ], + 'SslMaxConnections' => [ + 'description' => 'VPN网关SSL连接数的规格。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'Spec' => [ + 'description' => 'VPN网关的带宽峰值。**M**表示单位Mbps。', + 'type' => 'string', + 'example' => '5M', + ], + 'InternetIp' => [ + 'description' => '- 在VPN网关实例支持创建单隧道模式IPsec-VPN连接的场景下,该地址为VPN网关实例的IP地址,可用于创建IPsec-VPN连接或SSL-VPN连接。'."\n" + ."\n" + .'- 在VPN网关实例支持创建双隧道模式IPsec-VPN连接的场景下,该地址为用于创建IPsec-VPN连接的第一个IP地址,不能用于创建SSL-VPN连接。'."\n" + ."\n" + .' 在VPN网关实例支持创建双隧道模式IPsec-VPN连接的场景下,系统会为VPN网关实例分配两个IPsec地址,用于创建双隧道模式的IPsec-VPN连接。', + 'type' => 'string', + 'example' => '47.12.XX.XX', + ], + 'CreateTime' => [ + 'description' => '创建VPN网关的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建VPN网关实例时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1515383700000', + ], + 'AutoPropagate' => [ + 'description' => '是否已开启VPN网关的路由自动传播功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ChargeType' => [ + 'description' => 'VPN网关的付费类型。'."\n" + ."\n" + .'仅取值:**Prepay**,包年包月。'."\n" + ."\n" + .'仅取值:**POSTPAY**,按量计费。'."\n" + ."\n" + .'仅取值: **POSTPAY**,按量计费。', + 'type' => 'string', + 'example' => '中国站示例值:Prepay,国际站示例值:POSTPAY', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关的ID。', + 'type' => 'string', + 'example' => 'vpn-bp17lofy9fd0dnvzv****', + ], + 'Tag' => [ + 'description' => '系统自动生成的VPN网关标签。'."\n" + ."\n" + .'- **VpnEnableBgp**:表示VPN网关是否支持BGP功能。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。'."\n" + .'- **VisuallySsl**:表示VPN网关是否支持查看SSL客户端的连接信息。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。'."\n" + .'- **PbrPriority**:表示VPN网关是否支持为策略路由配置策略优先级。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。'."\n" + .'- **VpnNewImage**:表示VPN网关是否为新型VPN网关。'."\n" + .' - **true**:是。'."\n" + .' - **false**:否。'."\n" + .'- **description**:表示VPN网关的描述信息,仅供系统内部使用。'."\n" + .'- **VpnVersion**:表示VPN网关的版本号。'."\n" + .'- **IDaaSNewVersion**:表示VPN网关是否支持绑定EIAM 2.0实例。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。', + 'type' => 'string', + 'example' => '{\\"VpnEnableBgp\\":\\"true\\",\\"VisuallySsl\\":\\"true\\",\\"PbrPriority\\":\\"true\\",\\"VpnNewImage\\":\\"true\\",\\"description\\":\\"转发1.3.24\\",\\"VpnVersion\\":\\"v1.2.4\\",\\"IDaaSNewVersion\\":\\"true\\"}', + ], + 'IpsecVpn' => [ + 'description' => 'VPN网关是否开启了IPsec-VPN功能。'."\n" + ."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'EndTime' => [ + 'description' => 'VPN网关到期时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至VPN网关实例到期时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1518105600000', + ], + 'VSwitchId' => [ + 'description' => 'VPN网关所属交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-bp15lbk8sgtr6r5b0****', + ], + 'Description' => [ + 'description' => 'VPN网关的描述信息。', + 'type' => 'string', + 'example' => 'test', + ], + 'EnableBgp' => [ + 'description' => 'VPN网关BGP功能的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'BusinessStatus' => [ + 'description' => 'VPN网关的付费状态。'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'SslVpn' => [ + 'description' => 'VPN网关是否开启了SSL-VPN功能。'."\n" + ."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'Name' => [ + 'description' => 'VPN网关的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'NetworkType' => [ + 'description' => 'VPN网关的网络类型。'."\n" + ."\n" + .'- **public**:公网VPN网关。'."\n" + .'- **private**:私网VPN网关。', + 'type' => 'string', + 'example' => 'public', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'VPN网关绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPN网关绑定的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'ReservationData' => [ + 'description' => '未生效的订购数据。'."\n" + ."\n" + .'>仅**IncludeReservationData**传入**true**才会返回该组参数。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '未生效订单状态。'."\n" + ."\n" + .'- **1**:表示续费或续费变配的订单未生效。'."\n" + ."\n" + .'- **2**:表示临时升配的订单已生效。在到达还原时间后,系统会将VPN网关规格恢复到临时升配前的规格。此时**ReservationIpsec**、**ReservationMaxConnections**、**ReservationSpec**、**ReservationSsl**表示为VPN网关临时升配前的规格。', + 'type' => 'string', + 'example' => '1', + ], + 'ReservationOrderType' => [ + 'description' => '未生效订单类型。'."\n" + ."\n" + .'- **RENEWCHANGE**:续费变配。'."\n" + ."\n" + .'- **TEMP_UPGRADE**:临时升配。'."\n" + ."\n" + .'- **RENEW**:续费。', + 'type' => 'string', + 'example' => 'TEMP_UPGRADE', + ], + 'ReservationIpsec' => [ + 'description' => '未生效订单IPsec-VPN功能开启状态。'."\n" + ."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'ReservationSpec' => [ + 'description' => '未生效订单的带宽规格。单位:Mbps。', + 'type' => 'string', + 'example' => '5', + ], + 'ReservationSsl' => [ + 'description' => '未生效订单SSL-VPN功能开启状态。'."\n" + .'- **enable**:已开启。'."\n" + ."\n" + .'- **disable**:未开启。', + 'type' => 'string', + 'example' => 'enable', + ], + 'ReservationMaxConnections' => [ + 'description' => '未生效订单SSL-VPN并发连接用户数的规格。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ReservationEndTime' => [ + 'description' => '如果未生效订单类型为**TEMP_UPGRADE**(临时升配)时,该参数表示为临时升配的还原时间。'."\n" + ."\n" + .'如果未生效订单类型为**RENEWCHANGE**(续费变配)或**RENEW**(续费)时,该参数表示为续费或续费变配开始生效时间。', + 'type' => 'string', + 'example' => '2021-07-20T16:00:00Z', + ], + ], + ], + 'DisasterRecoveryInternetIp' => [ + 'description' => '系统为VPN网关实例分配的用于创建IPsec-VPN连接的第二个IP地址。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => '47.91.XX.XX', + ], + 'DisasterRecoveryVSwitchId' => [ + 'description' => 'VPN网关实例关联的第二个交换机ID。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => 'vsw-p0w95ql6tmr2ludkt****', + ], + 'SslVpnInternetIp' => [ + 'title' => '', + 'description' => 'SSL-VPN连接的IP地址。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的公网网络类型的VPN网关实例开启SSL-VPN功能后,才会返回当前参数。', + 'type' => 'string', + 'example' => '47.74.XX.XX', + ], + 'ResourceGroupId' => [ + 'description' => 'VPN网关所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + 'EniInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EniInstanceId' => [ + 'description' => '系统为VPN网关实例创建的弹性网卡ENI(Elastic Network Interfaces)列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'ENI ID。'."\n" + ."\n" + .'仅支持创建双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => 'eni-7xvcxgmd4y2ypibn****', + ], + ], + ], + ], + 'GatewayType' => [ + 'title' => 'VPN 网关类型,取值:'."\n" + .'Traditional:传统型VPN网关,覆盖IPsec功能和SSL功能'."\n" + .'Enhance.SiteToSite:增强型站点入云VPN,只覆盖IPsec功能', + 'description' => 'VPN 网关类型,取值:'."\n" + .'Traditional:传统型VPN网关,覆盖IPsec功能和SSL功能'."\n" + .'Enhance.SiteToSite:增强型站点入云VPN,只覆盖IPsec功能', + 'type' => 'string', + 'example' => 'Enhance.SiteToSite', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"DF11D6F6-E35A-41C3-9B20-6FC8A901FE65\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"VpnGateways\\": {\\n \\"VpnGateway\\": [\\n {\\n \\"VpnType\\": \\"Normal\\",\\n \\"Status\\": \\"active\\",\\n \\"VpcId\\": \\"vpc-bp1m3i0kn1nd4wiw9****\\",\\n \\"SslMaxConnections\\": 5,\\n \\"Spec\\": \\"5M\\",\\n \\"InternetIp\\": \\"47.12.XX.XX\\",\\n \\"CreateTime\\": 1515383700000,\\n \\"AutoPropagate\\": true,\\n \\"ChargeType\\": \\"中国站示例值:Prepay,国际站示例值:POSTPAY\\",\\n \\"VpnGatewayId\\": \\"vpn-bp17lofy9fd0dnvzv****\\",\\n \\"Tag\\": \\"{\\\\\\\\\\\\\\"VpnEnableBgp\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"VisuallySsl\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"PbrPriority\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"VpnNewImage\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"description\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"转发1.3.24\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"VpnVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"v1.2.4\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"IDaaSNewVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"IpsecVpn\\": \\"enable\\",\\n \\"EndTime\\": 1518105600000,\\n \\"VSwitchId\\": \\"vsw-bp15lbk8sgtr6r5b0****\\",\\n \\"Description\\": \\"test\\",\\n \\"EnableBgp\\": true,\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"SslVpn\\": \\"enable\\",\\n \\"Name\\": \\"test\\",\\n \\"NetworkType\\": \\"public\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"ReservationData\\": {\\n \\"Status\\": \\"1\\",\\n \\"ReservationOrderType\\": \\"TEMP_UPGRADE\\",\\n \\"ReservationIpsec\\": \\"enable\\",\\n \\"ReservationSpec\\": \\"5\\",\\n \\"ReservationSsl\\": \\"enable\\",\\n \\"ReservationMaxConnections\\": 5,\\n \\"ReservationEndTime\\": \\"2021-07-20T16:00:00Z\\"\\n },\\n \\"DisasterRecoveryInternetIp\\": \\"47.91.XX.XX\\",\\n \\"DisasterRecoveryVSwitchId\\": \\"vsw-p0w95ql6tmr2ludkt****\\",\\n \\"SslVpnInternetIp\\": \\"47.74.XX.XX\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"EniInstanceIds\\": {\\n \\"EniInstanceId\\": [\\n \\"eni-7xvcxgmd4y2ypibn****\\"\\n ]\\n },\\n \\"GatewayType\\": \\"Enhance.SiteToSite\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n DF11D6F6-E35A-41C3-9B20-6FC8A901FE65\\n 1\\n 1\\n \\n Normal\\n Active\\n vpc-bp1m3i0kn1nd4wiw9****\\n 5\\n 5M\\n 47.12.XX.XX\\n 1515383700000\\n true\\n 中国站示例值:Prepay,国际站示例值:POSTPAY\\n vpn-bp17lofy9fd0dnvzv****\\n {\\\\\\"VpnEnableBgp\\\\\\":\\\\\\"true\\\\\\",\\\\\\"VisuallySsl\\\\\\":\\\\\\"true\\\\\\",\\\\\\"PbrPriority\\\\\\":\\\\\\"true\\\\\\",\\\\\\"VpnNewImage\\\\\\":\\\\\\"true\\\\\\",\\\\\\"description\\\\\\":\\\\\\"转发1.3.7\\\\\\",\\\\\\"VpnVersion\\\\\\":\\\\\\"v1.2.4\\\\\\"}\\n enable\\n 1518105600000\\n vsw-bp15lbk8sgtr6r5b0****\\n test\\n true\\n Normal\\n enable\\n test\\n public\\n vsw-p0w95ql6tmr2ludkt****\\n 47.91.XX.XX\\n 47.74.XX.XX\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n 1\\n TEMP_UPGRADE\\n enable\\n 5\\n enable\\n 5\\n 2021-07-20T16:00:00Z\\n \\n \\n","errorExample":""}]', + 'title' => '查询已创建的VPN网关', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListVpnCertificateAssociations' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CertificateType', + 'in' => 'query', + 'schema' => [ + 'description' => '证书类型。取值:'."\n" + ."\n" + .'- **Encryption**:加密证书。'."\n" + ."\n" + .'- **Signature**:签名证书。', + 'type' => 'string', + 'required' => false, + 'example' => 'Signature', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be0****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**20**,默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'VPN网关实例ID列表。'."\n" + ."\n" + .'一次最多支持查询20个VPN网关实例与SSL证书的绑定关系。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPN网关实例ID。'."\n" + ."\n" + .'一次最多支持查询20个VPN网关实例与SSL证书的绑定关系。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + 'required' => false, + 'example' => 'vpn-bp1q8bgx4xnkm****', + 'maxLength' => 128, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'CertificateId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '证书ID列表。'."\n" + ."\n" + .'一次最多支持查询20个SSL证书与VPN网关实例的绑定关系。', + 'type' => 'array', + 'items' => [ + 'description' => '证书ID。'."\n" + ."\n" + .'一次最多支持查询20个SSL证书与VPN网关实例的绑定关系。', + 'type' => 'string', + 'required' => false, + 'example' => '848****', + ], + 'required' => false, + 'example' => '6bfe4218-ea1d****', + 'maxLength' => 128, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + ."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'caeba0bbb2be****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '197AF2BD-547F-470C-B29A-8400400233EB', + ], + 'TotalCount' => [ + 'description' => '绑定关系总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'VpnCertificateRelations' => [ + 'description' => '绑定关系列表。', + 'type' => 'array', + 'items' => [ + 'description' => '绑定关系。', + 'type' => 'object', + 'properties' => [ + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1usbiorilk51760****', + ], + 'CertificateType' => [ + 'description' => '证书类型。'."\n" + ."\n" + .'- **Encryption**:加密证书。'."\n" + ."\n" + .'- **Signature**:签名证书。', + 'type' => 'string', + 'example' => 'Signature', + ], + 'CertificateId' => [ + 'description' => '证书ID。', + 'type' => 'string', + 'example' => '6bfe4218-ea1d****', + ], + 'AssociationTime' => [ + 'description' => '绑定时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2020-12-29T09:30:29Z', + ], + 'RegionId' => [ + 'description' => 'VPN网关所在地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified next token (%s) is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be****\\",\\n \\"RequestId\\": \\"197AF2BD-547F-470C-B29A-8400400233EB\\",\\n \\"TotalCount\\": 4,\\n \\"MaxResults\\": 10,\\n \\"VpnCertificateRelations\\": [\\n {\\n \\"VpnGatewayId\\": \\"vpn-bp1usbiorilk51760****\\",\\n \\"CertificateType\\": \\"Signature\\",\\n \\"CertificateId\\": \\"6bfe4218-ea1d****\\",\\n \\"AssociationTime\\": \\"2020-12-29T09:30:29Z\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 4\\n 197AF2BD-547F-470C-B29A-8400400233EB\\n \\n Signature\\n 2020-12-29T09:30:29Z\\n vpn-bp1usbiorilk51760****\\n 848****\\n cn-hangzhou\\n \\n \\n Encryption\\n 2020-12-29T09:30:16Z\\n vpn-bp1usbiorilk51760****\\n 848****\\n cn-hangzhou\\n \\n \\n Signature\\n 2020-12-09T02:36:23Z\\n vpn-bp1mrlw7134czer3l****\\n 848****\\n cn-hangzhou\\n \\n \\n Encryption\\n 2020-12-09T02:35:50Z\\n vpn-bp1mrlw7134czer3l****\\n 848****\\n cn-hangzhou\\n \\n 10\\n","errorExample":""}]', + 'title' => '获取VPN证书关联列表', + 'summary' => '调用ListVpnCertificateAssociations接口查询指定地域下VPN网关实例和证书的绑定关系。', + 'description' => '在调用**ListVpnCertificateAssociations**时:'."\n" + ."\n" + .'- 如果您仅指定了**RegionId**参数的值,则表示您要查询指定地域下所有VPN网关实例和SSL证书的绑定关系。'."\n" + .'- 如果您指定了**RegionId**和**CertificateType**参数的值,则表示您要查询指定地域下VPN网关实例与指定证书类型的SSL证书的绑定关系。'."\n" + .'- 如果您指定了**RegionId**和**VpnGatewayId**参数的值,则表示您要查询指定地域下指定VPN网关实例与SSL证书的绑定关系。'."\n" + .'- 如果您指定了**RegionId**和**CertificateId**参数的值,则表示您要查询指定地域下指定SSL证书与VPN网关实例的绑定关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DiagnoseVpnGateway' => [ + 'summary' => '调用DiagnoseVpnGateway接口一键诊断指定的VPN网关实例。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'VPN网关实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'title' => 'ResourceId', + 'description' => '待诊断的资源ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-uf66xniofskqtuoz1****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'title' => 'ResourceType', + 'description' => '待诊断的资源类型。'."\n" + ."\n" + .'仅取值:**IPsec**,表示IPsec连接。', + 'type' => 'string', + 'required' => true, + 'example' => 'IPsec', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VpnGatewayId', + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpn-m5efhj0k1p47ctuhl****', + ], + ], + [ + 'name' => 'IPsecExtendInfo', + 'in' => 'query', + 'schema' => [ + 'title' => 'IPsecExtendInfo', + 'description' => '检查指定地址间的私网连通性。取值:'."\n" + ."\n" + .'- **PrivateSourceIp**:源IP地址。源IP地址需为VPC侧的地址。'."\n" + .'- **PrivateDestinationIp**:目的IP地址。目的IP地址需为本地数据中心侧的地址。', + 'type' => 'string', + 'required' => false, + 'example' => '{"PrivateSourceIp":"192.168.1.1","PrivateDestinationIp":"192.168.0.1"}', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => 'system param', + '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' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'DiagnoseId' => [ + 'title' => 'DiagnoseId', + 'description' => '诊断ID。'."\n" + ."\n" + .'当前接口返回诊断ID后,您可以调用[GetVpnGatewayDiagnoseResult](~~2521963~~)接口查询诊断报告。', + 'type' => 'string', + 'example' => 'vpndgn-uf6kuxbe3iv028k3s****', + ], + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'OperationUnsupported.DiagnoseVpn', + 'errorMessage' => 'Current version of the VPN does not support diagnose.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceType', + 'errorMessage' => 'The specified resource type [%s] is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.VpnGatewayDiagnosing', + 'errorMessage' => 'The VPN gateway is diagnosing.', + ], + [ + 'errorCode' => 'OperationFailed.StartDiagnose', + 'errorMessage' => 'Start VPN gateway diagnose failed.', + ], + [ + 'errorCode' => 'IllegalParam.PrivateSourceIp', + 'errorMessage' => 'The specified private source IP [%s] is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.PrivateDestinationIp', + 'errorMessage' => 'The specified private destination IP [%s] is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified resource id [%s] does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DiagnoseId\\": \\"vpndgn-uf6kuxbe3iv028k3s****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vpndgn-uf6kuxbe3iv028k3s****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', + 'title' => '一键诊断指定的VPN网关实例', + 'description' => '仅部分地域下的VPN网关实例支持一键诊断功能。关于地域的更多信息,请参见[VPN网关功能支持的地域](~~430697~~)。', + ], + 'GetVpnGatewayDiagnoseResult' => [ + 'summary' => '调用GetVpnGatewayDiagnoseResult接口查询VPN网关实例的一键诊断结果。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'VPN网关实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'DiagnoseId', + 'in' => 'query', + 'schema' => [ + 'title' => 'DiagnoseId', + 'description' => '诊断ID。'."\n" + ."\n" + .'在您[DiagnoseVpnGateway](~~469751~~)调用接口时,系统会返回对应的诊断ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpndgn-uf6kuxbe3iv028k3s****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VpnGatewayId', + 'description' => 'VPN网关实例ID。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-uf6fzwp0ck3frwtbk****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => 'system param', + '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' => 'Schema object', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'BeginTime' => [ + 'title' => 'FinishTime', + 'description' => '诊断开始的时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-12-15T05:28:57Z', + ], + 'DiagnoseId' => [ + 'title' => 'DiagnoseId', + 'description' => '诊断ID。', + 'type' => 'string', + 'example' => 'vpndgn-uf6sgneym02lxyuv4****', + ], + 'DiagnoseResult' => [ + 'title' => 'DiagnoseResult', + 'description' => '诊断项信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断项信息。', + 'type' => 'object', + 'properties' => [ + 'DiagnoseName' => [ + 'title' => 'diagnoseName', + 'description' => '诊断项。'."\n" + ."\n" + .'- **RouteEntryConflict**:路由冲突。'."\n" + .'- **VpnRouteQuota**:VPN网关目的路由配额。'."\n" + .'- **VpnIPsecQuota**:VPN网关IPsec连接配额。'."\n" + .'- **VpnPbrRouteQuota**:VPN网关策略路由配额。'."\n" + .'- **VcoConfigConsistency**:IPsec配置一致性。'."\n" + .'- **VcoUserInternetIpConnectivity**:用户网关公网连通性。'."\n" + .'- **VcoPrivateConnectivity**:私网连通性。'."\n" + ."\n" + .'关于每个诊断项的说明信息,请参见[一键诊断背景信息](~~190330~~)。'."\n", + 'type' => 'string', + 'example' => 'RouteEntryConflict', + ], + 'DiagnoseResultDescription' => [ + 'title' => 'DiagnoseResultDescription', + 'description' => '诊断项的诊断结果。'."\n" + ."\n" + .'针对每个诊断项,接口会返回不同的信息,说明如下:'."\n" + ."\n" + .'- **RouteEntryConflict**:系统会返回对应路由冲突的信息。'."\n" + .'- **VpnRouteQuota**:'."\n" + .' - **quotaName**:目的路由配额ID。'."\n" + .' - **quantity**:当前VPN网关实例支持创建的目的路由条目数量。'."\n" + .' - **used**:当前VPN网关实例已创建的目的路由条目数量。'."\n" + .'- **VpnIPsecQuota**:'."\n" + .' - **quotaName**:IPsec连接配额ID。'."\n" + .' - **quantity**:当前VPN网关实例支持创建的IPsec连接数量。'."\n" + .' - **used**:当前VPN网关实例已创建的IPsec连接数量。'."\n" + .'- **VpnPbrRouteQuota**:'."\n" + .' - **quotaName**:策略路由配额ID。'."\n" + .' - **quantity**:当前VPN网关实例支持创建的策略路由条目数量。'."\n" + .' - **used**:当前VPN网关实例已创建的策略路由条目数量。'."\n" + .'- **VcoConfigConsistency**:'."\n" + .' - **vcoLackConf**:系统无法获取IPsec连接对端的配置。'."\n" + .' - **vcoRunningConf**:IPsec连接对端已添加的配置信息。'."\n" + .' - **vcoDiffConf**:IPsec连接侧(本端)和对端不一致的配置列表。'."\n" + .' - **vcoConf**:IPsec连接侧(本端)已添加的配置信息。'."\n" + .'- **VcoUserInternetIpConnectivity**:'."\n" + .' - **targetIp**:用户网关的公网IP地址。'."\n" + .' - **rtt**:系统访问用户网关公网IP地址时的时延。单位:ms。'."\n" + .' - **lossRate**:系统访问用户网关公网IP地址时的丢包率。'."\n" + .'- **VcoPrivateConnectivity**:'."\n" + .' - **targetIp**:源IP地址。'."\n" + .' - **srcIp**:目的IP地址。'."\n" + .' - **rtt**:源IP地址访问目的IP地址时的时延。单位:ms。'."\n" + .' - **lossRate**:源IP地址访问目的IP地址时的丢包率。'."\n" + ."\n", + 'type' => 'string', + 'example' => '{\\"targetIp\\":\\"192.168.0.1\\",\\"srcIp\\":\\"192.168.1.1\\",\\"rtt\\":-1.0,\\"lossRate\\":100.0}', + ], + 'DiagnoseResultLevel' => [ + 'title' => 'DiagnoseResultLevel', + 'description' => '诊断项的诊断结果级别。'."\n" + ."\n" + .'- **normal**:正常。'."\n" + .'- **warning**:警告。'."\n" + .'- **error**:异常。'."\n" + ."\n" + .'关于每个诊断项对应的每个诊断结果级别的说明,请参见[一键诊断背景信息](~~190330~~)。', + 'type' => 'string', + 'example' => 'normal', + ], + ], + ], + ], + 'FinishTime' => [ + 'title' => 'FinishTime', + 'description' => '诊断结束的时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-12-15T05:29:08Z', + ], + 'FinishedCount' => [ + 'title' => 'FinishedCount', + 'description' => '已完成诊断的诊断项数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '7', + ], + 'RequestId' => [ + 'title' => 'RequestId', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '312C4D5A-6563-5FC6-8C6E-A43A5A316FEB', + ], + 'ResourceInstanceId' => [ + 'title' => 'ResourceInstanceId', + 'description' => '诊断的资源ID。', + 'type' => 'string', + 'example' => 'vco-uf6huqsu63azl7mdp****', + ], + 'ResourceType' => [ + 'title' => 'ResourceType', + 'description' => '诊断的资源类型。'."\n" + ."\n" + .'取值:**IPsec**,表示IPsec连接。', + 'type' => 'string', + 'example' => 'IPsec', + ], + 'TotalCount' => [ + 'title' => 'TotalCount', + 'description' => '诊断项总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '7', + ], + 'VpnGatewayId' => [ + 'title' => 'VpnGatewayId', + 'description' => 'VPN网关实例ID。'."\n", + 'type' => 'string', + 'example' => 'vpn-uf6fzwp0ck3frwtbk****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'param_error', + 'errorMessage' => 'The param is must be in ...', + ], + [ + 'errorCode' => 'MissingParam.DiagnoseInfo', + 'errorMessage' => 'The VPN gateway ID and diagnose ID cannot be empty at the same time.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'IncorrectStatus.DiagnoseTimeout', + 'errorMessage' => 'Diagnose failed because of timeout.', + ], + [ + 'errorCode' => 'IncorrectStatus.VpnConnectionDeleted', + 'errorMessage' => 'Diagnose failed because the VPN connection has been deleted.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiagnoseId.NotFound', + 'errorMessage' => 'The specified diagnose ID [%s] does not exist.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayId.NotFound', + 'errorMessage' => 'The specified VPN gateway [%s] does not have any diagnoses.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"BeginTime\\": \\"2022-12-15T05:28:57Z\\",\\n \\"DiagnoseId\\": \\"vpndgn-uf6sgneym02lxyuv4****\\",\\n \\"DiagnoseResult\\": [\\n {\\n \\"DiagnoseName\\": \\"RouteEntryConflict\\",\\n \\"DiagnoseResultDescription\\": \\"{\\\\\\\\\\\\\\"targetIp\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"192.168.0.1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"srcIp\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"192.168.1.1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rtt\\\\\\\\\\\\\\":-1.0,\\\\\\\\\\\\\\"lossRate\\\\\\\\\\\\\\":100.0}\\",\\n \\"DiagnoseResultLevel\\": \\"normal\\"\\n }\\n ],\\n \\"FinishTime\\": \\"2022-12-15T05:29:08Z\\",\\n \\"FinishedCount\\": 7,\\n \\"RequestId\\": \\"312C4D5A-6563-5FC6-8C6E-A43A5A316FEB\\",\\n \\"ResourceInstanceId\\": \\"vco-uf6huqsu63azl7mdp****\\",\\n \\"ResourceType\\": \\"IPsec\\",\\n \\"TotalCount\\": 7,\\n \\"VpnGatewayId\\": \\"vpn-uf6fzwp0ck3frwtbk****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 7\\n 2022-12-15T05:29:08Z\\n 312C4D5A-6563-5FC6-8C6E-A43A5A316FEB\\n vpn-uf6fzwp0ck3frwtbk****\\n 7\\n vpndgn-uf6sgneym02lxyuv4****\\n 2022-12-15T05:28:57Z\\n IPsec\\n vco-uf6huqsu63azl7mdp****\\n \\n normal\\n No routing conflict\\n RouteEntryConflict\\n \\n \\n normal\\n {\\"quotaName\\":\\"vpn_route_entry_quota\\",\\"quantity\\":\\"30\\",\\"used\\":\\"0\\"}\\n VpnRouteQuota\\n \\n \\n normal\\n {\\"quotaName\\":\\"vpn_quota_ipsec_connetcions_num\\",\\"quantity\\":\\"10\\",\\"used\\":\\"1\\"}\\n VpnIPsecQuota\\n \\n \\n normal\\n {\\"quotaName\\":\\"vpn_pbr_route_entry_quota\\",\\"quantity\\":\\"20\\",\\"used\\":\\"0\\"}\\n VpnPbrRouteQuota\\n \\n \\n warning\\n {\\"vcoLackConf\\":[\\"leftid\\",\\"rightid\\",\\"right\\",\\"leftsubnets\\",\\"rightsubnets\\",\\"ike_auth_alg\\",\\"ike_enc_alg\\",\\"ike_lifetime\\",\\"ipsec_auth_alg\\",\\"ipsec_enc_alg\\",\\"ipsec_lifetime\\",\\"nat_traversal\\",\\"dpd\\",\\"ike_pfs\\",\\"ipsec_pfs\\"],\\"vcoRunningConf\\":{},\\"vcoDiffConf\\":{},\\"vcoConf\\":{\\"ipsec_lifetime\\":\\"86400\\",\\"ike_pfs\\":\\"group2\\",\\"ike_enc_alg\\":\\"aes\\",\\"leftsubnets\\":\\"0.0.0.0/0\\",\\"nat_traversal\\":\\"true\\",\\"leftid\\":\\"47.XX.XX.15\\",\\"right\\":\\"1.XX.XX.1\\",\\"rightsubnets\\":\\"0.0.0.0/0\\",\\"ipsec_pfs\\":\\"group2\\",\\"ike_auth_alg\\":\\"sha1\\",\\"ike_lifetime\\":\\"86400\\",\\"rightid\\":\\"1.XX.XX.1\\",\\"dpd\\":\\"true\\",\\"ipsec_auth_alg\\":\\"sha1\\",\\"ipsec_enc_alg\\":\\"aes\\"}}\\n VcoConfigConsistency\\n \\n \\n error\\n {\\"targetIp\\":\\"1.XX.XX.1\\",\\"rtt\\":-1.0,\\"lossRate\\":100.0}\\n VcoUserInternetIpConnectivity\\n \\n \\n error\\n {\\"targetIp\\":\\"192.168.0.1\\",\\"srcIp\\":\\"192.168.1.1\\",\\"rtt\\":-1.0,\\"lossRate\\":100.0}\\n VcoPrivateConnectivity\\n \\n","errorExample":""}]', + 'title' => '查询VPN网关实例的一键诊断结果', + 'description' => '调用**GetVpnGatewayDiagnoseResult**接口时,除必填参数外,**DiagnoseId**和**VpnGatewayId**参数需至少输入一个。', + ], + 'DescribeVpnGatewayAvailableZones' => [ + 'summary' => '调用DescribeVpnGatewayAvailableZones接口查询指定地域支持部署IPsec连接的可用区列表。', + 'methods' => [ + '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。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽规格。'."\n" + .'- 对于IPsec连接绑定VPN网关实例的场景,该参数表示VPN网关实例的带宽规格。'."\n" + .'- 对于IPsec连接绑定转发路由器的场景,该参数表示您期望的IPsec连接可以支持的带宽规格。'."\n" + ."\n" + .'不同的带宽规格可能会影响查询出的可用区信息。取值:'."\n" + ."\n" + .'- **5M**'."\n" + .'- **10M**'."\n" + .'- **20M**'."\n" + .'- **50M**'."\n" + .'- **100M**'."\n" + .'- **200M**'."\n" + .'- **500M**'."\n" + .'- **1000M**', + 'type' => 'string', + 'required' => true, + 'example' => '5M', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '返回结果显示的语言。取值:'."\n" + ."\n" + .'- **zh-CN**:中文。'."\n" + .'- **en-US**(默认值):英文。', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + [ + 'name' => 'GatewayType', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN 网关类型,取值:'."\n" + .'- **Traditional**:返回可以创建传统型 VPN 网关的可用区信息。'."\n" + .'- **Enhanced.SiteToSite**:返回可以创建增强型站点入云 VPN网关的可用区信息。'."\n" + .'- **默认值**:返回可以创建所有类型VPN网关的可用区信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'Traditional', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '29784052-931F-543D-A612-36B3838163FA', + ], + 'AvailableZoneIdList' => [ + 'description' => '可用区列表。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区信息。', + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'ZoneName' => [ + 'description' => '可用区名称。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RequestId\\": \\"29784052-931F-543D-A612-36B3838163FA\\",\\n \\"AvailableZoneIdList\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-h\\",\\n \\"ZoneName\\": \\"cn-hangzhou-h\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询指定地域支持部署IPsec连接的可用区列表', + ], + 'CreateCustomerGateway' => [ + 'summary' => '调用CreateCustomerGateway接口创建用户网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44****', + ], + ], + [ + 'name' => 'IpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '输入本地数据中心网关设备的静态IP地址。'."\n" + ."\n" + .'- 如果您后续需要创建公网网络类型的IPsec连接,则此处需要输入公网IP地址。'."\n" + ."\n" + .'- 如果您后续需要创建私网网络类型的IPsec连接,则此处需要输入私网IP地址。'."\n" + ."\n" + .'不支持使用以下IP地址,否则无法建立IPsec-VPN连接:'."\n" + ."\n" + .'- 100.64.0.0~100.127.255.255'."\n" + .'- 127.0.0.0~127.255.255.255'."\n" + .'- 169.254.0.0~169.254.255.255'."\n" + .'- 224.0.0.0~239.255.255.255'."\n" + .'- 255.0.0.0~255.255.255.255', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '101.12.XX.XX', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关的名称。 '."\n" + ."\n" + .'名称长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关的描述信息。 '."\n" + ."\n" + .'描述信息长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'Asn', + 'in' => 'query', + 'schema' => [ + 'description' => '如果IPsec-VPN连接计划启用BGP动态路由协议,则需要配置本地数据中心网关设备的自治系统号ASN(Autonomous System Number)。自治系统号取值范围:1~4294967295,不支持使用45104。'."\n" + ."\n" + .'**Asn**是一个4字节的号码,支持按照两段位的格式进行输入,即:前16位比特.后16位比特。每个段位使用十进制输入。'."\n" + ."\n" + .'例如输入123.456,则表示自治系统号:123*65536+456=8061384。'."\n" + ."\n" + .'> - 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。'."\n" + .'> - 45104是由全球互联网数字分配机构IANA分配给阿里云计算有限公司的唯一标识符,用于在全球互联网路由选择和数据传输中标识阿里云。', + 'type' => 'string', + 'required' => false, + 'example' => '65530', + ], + ], + [ + 'name' => 'AuthKey', + 'in' => 'query', + 'schema' => [ + 'description' => '本地数据中心网关设备BGP路由协议的认证密钥。'."\n" + ."\n" + .'密钥长度为1~64个字符,只支持ASCII字符,不支持空格、中文和半角问号(?)。', + 'type' => 'string', + 'required' => false, + 'example' => 'AuthKey****', + ], + ], + [ + 'name' => 'Tags', + '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' => 21, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关所属的资源组ID。'."\n" + ."\n" + .'- 您可以调用[ListResourceGroups](~~158855~~)接口查询资源组ID。'."\n" + .'- 如果您未指定资源组,用户网关创建后将归属于默认资源组。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2qo2h4jy****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D32B3C26-6C6C-4988-93E9-D2A6444CE6AE', + ], + 'IpAddress' => [ + 'description' => '本地数据中心网关设备的静态IP地址。', + 'type' => 'string', + 'example' => '101.12.XX.XX', + ], + 'Description' => [ + 'description' => '用户网关的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'CustomerGatewayId' => [ + 'description' => '用户网关的实例ID。', + 'type' => 'string', + 'example' => 'cgw-bp1jrawp82av6bws9****', + ], + 'CreateTime' => [ + 'description' => '创建用户网关的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建用户网关时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1493363486000', + ], + 'Name' => [ + 'description' => '用户网关的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAuthkey.Malformed', + 'errorMessage' => 'The specified BGP authentication key (%s) is malformed.', + ], + [ + 'errorCode' => 'InvalidIpAddress.AlreadyExist', + 'errorMessage' => 'Specified IpAddress is already exist.', + ], + [ + 'errorCode' => 'InvalidIpAddress.WrongFormat', + 'errorMessage' => 'Specified IpAddress is invalid.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'InvalidDescription', + 'errorMessage' => 'The description is not valid', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'IllegalParam.Asn', + 'errorMessage' => 'The specified Asn is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.MissingAsn', + 'errorMessage' => 'The autonomous system number of the customer gateway is mandatory when BGP authentication key is specified.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + [ + 'errorCode' => 'OperationFailed.NoRamPermission', + 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', + ], + [ + 'errorCode' => 'CreateVpnUserGatewayQuotaFull.QuotaFull', + 'errorMessage' => 'The number of created VPN customer gateways exceeds the quota.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D32B3C26-6C6C-4988-93E9-D2A6444CE6AE\\",\\n \\"IpAddress\\": \\"101.12.XX.XX\\",\\n \\"Description\\": \\"desctest\\",\\n \\"CustomerGatewayId\\": \\"cgw-bp1jrawp82av6bws9****\\",\\n \\"CreateTime\\": 1493363486000,\\n \\"Name\\": \\"nametest\\"\\n}","errorExample":""},{"type":"xml","example":"\\n D32B3C26-6C6C-4988-93E9-D2A6444CE6AE\\n 101.12.XX.XX\\n desctest\\n cgw-bp1jrawp82av6bws9****\\n 1493363486000\\n nametest\\n","errorExample":""}]', + 'title' => '创建用户网关', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteCustomerGateway' => [ + 'summary' => '调用DeleteCustomerGateway接口删除指定的用户网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04****', + ], + ], + [ + 'name' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 用户网关的实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cgw-bp1pvpl9r9adju6l5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.VpnConnection', + 'errorMessage' => 'There are vpn connections on specified customer gateway not deleted.', + ], + [ + 'errorCode' => 'VpnGateway.task.conflict', + 'errorMessage' => 'The VPN is in the configuration state, please wait a while before operating.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified customer gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n","errorExample":""}]', + 'title' => '删除指定的用户网关', + 'description' => '删除用户网关前,请确保用户网关未关联任何IPsec连接。删除IPsec连接,请参见[DeleteVpnAttachment](~~2526938~~)或[DeleteVpnConnection](~~2526948~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCustomerGatewayAttribute' => [ + 'summary' => '调用ModifyCustomerGatewayAttribute接口修改用户网关的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关所属的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cgw-bp1pvpl9r9adju6l5****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关的名称。 '."\n" + ."\n" + .'名称长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关的描述信息。 '."\n" + ."\n" + .'描述信息长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'AuthKey', + 'in' => 'query', + 'schema' => [ + 'description' => '本地数据中心网关设备BGP路由协议的认证密钥。'."\n" + ."\n" + .'密钥长度为1~64个字符,只支持ASCII字符,不支持空格、中文和半角问号(?)。', + 'type' => 'string', + 'required' => false, + 'example' => 'AuthKey****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8AA5CE21-2E6A-4530-BDF5-F055849476E6', + ], + 'IpAddress' => [ + 'description' => '本地数据中心网关设备的公网IP地址。', + 'type' => 'string', + 'example' => '139.32.XX.XX', + ], + 'Description' => [ + 'description' => '用户网关的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'CustomerGatewayId' => [ + 'description' => '用户网关的实例ID。', + 'type' => 'string', + 'example' => 'cgw-bp1pvpl9r9adju6l5****', + ], + 'CreateTime' => [ + 'description' => '创建用户网关的时间戳。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492747187000', + ], + 'Name' => [ + 'description' => '用户网关的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'ResourceGroupId' => [ + 'description' => '用户网关所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'InvalidDescription', + 'errorMessage' => 'The description is not valid', + ], + [ + 'errorCode' => 'OperationDenied.MissingAsn', + 'errorMessage' => 'The autonomous system number of the customer gateway is mandatory when BGP authentication key is specified.', + ], + [ + 'errorCode' => 'InvalidAuthkey.Malformed', + 'errorMessage' => 'The specified BGP authentication key (%s) is malformed.', + ], + [ + 'errorCode' => 'OperationDenied.VpnFinancialLocked', + 'errorMessage' => 'The associated VPN gateway is financially locked. You cannot update the attributes of the customer gateway.', + ], + [ + 'errorCode' => 'OperationDenied.VpnConfiguring', + 'errorMessage' => 'The associated VPN gateway is being configured. You cannot update the attributes of the customer gateway.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified customer gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8AA5CE21-2E6A-4530-BDF5-F055849476E6\\",\\n \\"IpAddress\\": \\"139.32.XX.XX\\",\\n \\"Description\\": \\"desctest\\",\\n \\"CustomerGatewayId\\": \\"cgw-bp1pvpl9r9adju6l5****\\",\\n \\"CreateTime\\": 1492747187000,\\n \\"Name\\": \\"nametest\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8AA5CE21-2E6A-4530-BDF5-F055849476E6\\n 139.32.XX.XX\\n desctest\\n cgw-bp1pvpl9r9adju6l5****\\n 1492747187000\\n nametest\\n","errorExample":""}]', + 'title' => '修改用户网关的名称和描述信息', + 'description' => '- 调用**ModifyCustomerGatewayAttribute**接口时,如果参数**AuthKey**不为空时,该接口为异步接口,即系统先返回用户网关的信息,但该用户网关的配置尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询用户网关的配置的修改状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示用户网关的配置正在修改中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示用户网关的配置修改成功。'."\n" + .'- 调用**ModifyCustomerGatewayAttribute**接口时,如果参数**AuthKey**为空时,该接口为同步接口。'."\n" + ."\n" + .'- **ModifyCustomerGatewayAttribute**接口不支持并发修改同一个用户网关的配置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCustomerGateway' => [ + 'summary' => '查询已创建的用户网关的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关所属的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 用户网关的实例ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cgw-bp1pvpl9r9adju6l5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Asn' => [ + 'description' => '本地数据中心网关设备的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65535', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A0457BC9-6C0F-4437-AB9D-FB2EABC1D6A2', + ], + 'IpAddress' => [ + 'description' => '本地数据中心网关设备的IP地址。', + 'type' => 'string', + 'example' => '139.32.XX.XX', + ], + 'Description' => [ + 'description' => '用户网关的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'CustomerGatewayId' => [ + 'description' => '用户网关的实例ID。', + 'type' => 'string', + 'example' => 'cgw-bp1pvpl9r9adju6l5****', + ], + 'CreateTime' => [ + 'description' => '创建用户网关的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建用户网关时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492747187000', + ], + 'Name' => [ + 'description' => '用户网关的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'AuthKey' => [ + 'description' => '本地数据中心网关设备BGP路由协议的认证密钥。', + 'type' => 'string', + 'example' => 'AuthKey****', + ], + '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', + ], + ], + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => '用户网关所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified customer gateway instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Asn\\": 65535,\\n \\"RequestId\\": \\"A0457BC9-6C0F-4437-AB9D-FB2EABC1D6A2\\",\\n \\"IpAddress\\": \\"139.32.XX.XX\\",\\n \\"Description\\": \\"desctest\\",\\n \\"CustomerGatewayId\\": \\"cgw-bp1pvpl9r9adju6l5****\\",\\n \\"CreateTime\\": 1492747187000,\\n \\"Name\\": \\"nametest\\",\\n \\"AuthKey\\": \\"AuthKey****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 65535\\n A0457BC9-6C0F-4437-AB9D-FB2EABC1D6A2\\n 139.32.XX.XX\\n desctest\\n cgw-bp1pvpl9r9adju6l5****\\n 1492747187000\\n nametest\\n AuthKey****\\n \\n TagKey\\n TagValue\\n \\n","errorExample":""}]', + 'title' => '查询已创建的用户网关', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCustomerGateways' => [ + 'summary' => '调用DescribeCustomerGateways接口查询用户网关的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关所属的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关的实例ID。 '."\n" + ."\n" + .'> 如果您不指定用户网关的实例ID,则系统默认查询当前地域下所有用户网关的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-bp1pvpl9r9adju6l5****', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '用户网关绑定的标签列表。', + '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' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E82612A9-CB90-4D7E-B394-1DB7F6509B29', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'CustomerGateways' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CustomerGateway' => [ + 'description' => '用户网关信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '用户网关的信息。', + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'description' => '本地数据中心网关设备的IP地址。', + 'type' => 'string', + 'example' => '139.32.XX.XX', + ], + 'Asn' => [ + 'description' => '本地数据中心网关设备的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65530', + ], + 'Description' => [ + 'description' => '用户网关的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'CustomerGatewayId' => [ + 'description' => '用户网关的实例ID。', + 'type' => 'string', + 'example' => 'cgw-bp1pvpl9r9adju6l5****', + ], + 'CreateTime' => [ + 'description' => '创建用户网关的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建用户网关时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492747187000', + ], + 'Name' => [ + 'description' => '用户网关的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'AuthKey' => [ + 'description' => '本地数据中心网关设备BGP路由协议的认证密钥。', + 'type' => 'string', + 'example' => 'AuthKey****', + ], + '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', + ], + ], + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => '用户网关所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"E82612A9-CB90-4D7E-B394-1DB7F6509B29\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"CustomerGateways\\": {\\n \\"CustomerGateway\\": [\\n {\\n \\"IpAddress\\": \\"139.32.XX.XX\\",\\n \\"Asn\\": 65530,\\n \\"Description\\": \\"desctest\\",\\n \\"CustomerGatewayId\\": \\"cgw-bp1pvpl9r9adju6l5****\\",\\n \\"CreateTime\\": 1492747187000,\\n \\"Name\\": \\"nametest\\",\\n \\"AuthKey\\": \\"AuthKey****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n E82612A9-CB90-4D7E-B394-1DB7F6509B29\\n 1\\n 1\\n \\n 139.32.XX.XX\\n 65530\\n desctest\\n cgw-bp1pvpl9r9adju6l5****\\n 1492747187000\\n nametest\\n AuthKey****\\n \\n TagKey\\n TagValue\\n \\n \\n","errorExample":""}]', + 'title' => '查询已创建的用户网关列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateVpnConnection' => [ + 'summary' => '调用CreateVpnConnection接口创建IPsec连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + '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' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数,且该参数必填。'."\n" + ."\n" + .'用户网关的ID。 '."\n" + ."\n\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1q8bgx4xnkm****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的名称。'."\n" + ."\n" + .'长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPsec', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和本地数据中心互通的VPC侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.10.1.0/24,10.10.2.0/24', + ], + ], + [ + 'name' => 'RemoteSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和VPC互通的本地数据中心侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.10.3.0/24,10.10.4.0/24', + ], + ], + [ + 'name' => 'EffectImmediately', + 'in' => 'query', + 'schema' => [ + 'description' => '选择IPsec连接的配置是否立即生效。取值:'."\n" + .' '."\n" + .'- **true**:是,配置完成后系统立即进行IPsec协议协商。'."\n" + .' '."\n" + .'- **false**(默认值):否,当有流量进入时系统才进行IPsec协议协商。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'IkeConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第一阶段协商的配置信息:'."\n" + .' '."\n" + .'- **IkeConfig.Psk**:预共享密钥,用于VPN网关与本地数据中心之间的身份认证。'."\n" + ."\n" + .' - 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + .' - 若您未指定预共享密钥,系统会随机生成一个字符串作为预共享密钥。您可以调用[DescribeVpnConnection](~~2526951~~)接口查询系统自动生成的预共享密钥。 '."\n" + ."\n" + .' > IPsec连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和VPN网关之间无法建立连接。'."\n" + ."\n" + .'- **IkeConfig.IkeVersion**:IKE协议的版本。取值:**ikev1**或**ikev2**。默认值:**ikev1**。 '."\n" + ."\n" + .' 相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则IKE版本仅支持**ikev1**。'."\n" + ."\n" + .'- **IkeConfig.IkeMode**:IKE版本的协商模式。取值:**main**或**aggressive**。默认值:**main**。 '."\n" + ."\n" + .' - **main**:主模式,协商过程安全性高。'."\n" + .' - **aggressive**:野蛮模式,协商快速且协商成功率高。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则协商模式仅支持**main**。'."\n" + ."\n" + .'- **IkeConfig.IkeEncAlg**:第一阶段协商的加密算法。'."\n" + ."\n" + .' 取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。 '."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则取值为**sm4**(默认值)。'."\n" + ."\n" + .'- **IkeConfig.IkeAuthAlg**:第一阶段协商的认证算法。'."\n" + ."\n" + .' 取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则取值为**sm3**(默认值)。'."\n" + ."\n" + .'- **IkeConfig.IkePfs**:第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:**group1**、**group2**、**group5**、**group14**。默认值:**group2**。 '."\n" + ."\n" + .'- **IkeConfig.IkeLifetime**:第一阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。默认值:**86400**。 '."\n" + ."\n" + .'- **IkeConfig.LocalId**:VPN网关的标识,长度限制为100个字符,不能包含空格。默认值为VPN网关的IP地址。 '."\n" + ."\n" + .'- **IkeConfig.RemoteId**:用户网关的标识,长度限制为100个字符,不能包含空格。默认值为用户网关的IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '{"Psk":"1234****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"47.XX.XX.1","RemoteId":"47.XX.XX.2"}', + ], + ], + [ + 'name' => 'IpsecConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第二阶段协商的配置信息: '."\n" + ."\n" + .'- **IpsecConfig.IpsecEncAlg**:第二阶段协商的加密算法。'."\n" + ."\n" + .' 取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。 '."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则取值为**sm4**(默认值)。'."\n" + ."\n" + .'- **IpsecConfig. IpsecAuthAlg**:第二阶段协商的认证算法。'."\n" + ."\n" + .' 取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则取值为**sm3**(默认值)。'."\n" + ."\n" + .'- **IpsecConfig. IpsecPfs**:第二阶段协商使用的Diffie-Hellman密钥交换算法。取值:**disabled**、**group1**、**group2**、**group5**、**group14**。默认值:**group2**。 '."\n" + ."\n" + .'- **IpsecConfig. IpsecLifetime**:第二阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。默认值:**86400**。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', + ], + ], + [ + 'name' => 'HealthCheckConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'健康检查配置信息:'."\n" + ."\n" + .'- **HealthCheckConfig.enable**:是否开启健康检查,取值:**true**或**false**(默认值)。'."\n" + ."\n" + .'- **HealthCheckConfig.dip**:健康检查的目的IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.sip**:健康检查的源IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.interval**:健康检查的重试间隔时间,单位:秒。默认值:**3**。'."\n" + ."\n" + .'- **HealthCheckConfig.retry**:健康检查的重试发包次数。默认值:**3**。', + 'type' => 'string', + 'required' => false, + 'example' => '{"enable":"true","dip":"192.168.10.1","sip":"10.10.1.1","interval":"3","retry":"3"}', + ], + ], + [ + 'name' => 'AutoConfigRoute', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动配置路由。取值:'."\n" + ."\n" + .'- **true**(默认值):自动配置路由。'."\n" + ."\n" + .'- **false**:不自动配置路由。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableDpd', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableNatTraversal', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'BgpConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'BGP的配置信息:'."\n" + ."\n" + .'- **BgpConfig.EnableBgp**:是否开启BGP功能。取值:**true**或**false**(默认值)。'."\n" + .'- **BgpConfig.LocalAsn**:阿里云侧的自治系统号。自治系统号取值范围:**1**~**4294967295**。默认值:**45104**。'."\n" + .' '."\n" + .' 支持按照两段位的格式进行输入,即:前16位比特.后16位比特。每个段位使用十进制输入。'."\n" + .' '."\n" + .' 例如输入123.456,则表示自治系统号:123*65536+456=8061384。'."\n" + .'- **BgpConfig.TunnelCidr**:IPsec隧道网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + .' > 一个VPN网关实例下每个IPsec连接的IPsec隧道网段需保持唯一。'."\n" + .'- **LocalBgpIp**:阿里云侧的BGP地址。该地址为IPsec隧道网段内的一个IP地址。 '."\n" + ."\n" + .'>- 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由](~~2638220~~)。'."\n" + .'>- 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'string', + 'required' => false, + 'example' => '{"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', + ], + ], + [ + 'name' => 'RemoteCaCertificate', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'如果当前VPN网关实例为国密型VPN网关,您需要配置对端的CA证书。'."\n" + ."\n" + .'- 对于国密型VPN网关,创建IPsec连接时,此项必填。'."\n" + ."\n" + .'- 对于普通型VPN网关,此项需要为空。', + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'IPsec连接待添加的标签列表。'."\n" + ."\n" + .'一次最多支持为IPsec连接添加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' => 21, + ], + ], + [ + 'name' => 'TunnelOptionsSpecification', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'flat', + 'schema' => [ + 'description' => '配置隧道。'."\n" + ."\n" + .'- 创建双隧道模式的IPsec-VPN连接时支持配置**TunnelOptionsSpecification**数组下的参数。'."\n" + .'- 创建双隧道模式的IPsec-VPN连接时,您必须同时为IPsec-VPN连接添加主隧道和备隧道的配置。一个IPsec-VPN连接下仅支持添加主备两条隧道。', + 'type' => 'array', + 'items' => [ + 'description' => '配置隧道信息。', + 'type' => 'object', + 'properties' => [ + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关ID。'."\n" + ."\n" + .'>- 创建双隧道模式IPsec-VPN连接时本参数必填。'."\n" + .'>- 创建双隧道模式的IPsec-VPN连接时支持配置**TunnelOptionsSpecification**数组下的参数。'."\n" + .'>- 创建双隧道模式的IPsec-VPN连接时,您必须同时为IPsec-VPN连接添加主隧道和备隧道的配置。一个IPsec-VPN连接下仅支持添加主备两条隧道。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-p0wy363lucf1uyae8****', + ], + 'EnableDpd' => [ + 'description' => '是否为隧道开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '是否为隧道开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'RemoteCaCertificate' => [ + 'description' => '如果当前VPN网关实例为国密型VPN网关,您需要为隧道配置对端的CA证书。'."\n" + ."\n" + .'- 对于国密型VPN网关,此项必填。'."\n" + ."\n" + .'- 对于普通型VPN网关,此项需要为空。', + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'Role' => [ + 'description' => '隧道的角色。取值:'."\n" + ."\n" + .'- **master**:表示当前隧道为主隧道。'."\n" + .'- **slave**:表示当前隧道为备隧道。', + 'type' => 'string', + 'required' => false, + 'example' => 'master', + ], + 'TunnelBgpConfig' => [ + 'description' => '为隧道添加BGP配置。', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。自治系统号取值范围:**1**~**4294967295**。默认值:**45104**。'."\n" + ."\n" + .'> - 当您为IPsec连接开启BGP功能后(即指定**EnableTunnelsBgp**参数的值为**true**)需要配置该参数。'."\n" + .'>- 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由](~~2638220~~)。'."\n" + .'>- 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。该地址为BGP网段内的一个IP地址。 ', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.1', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + ."\n" + .'>在一个VPN网关实例下,每个隧道的BGP网段需保持唯一。', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.0/30', + ], + ], + 'required' => false, + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置信息。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => '第一阶段协商的认证算法。'."\n" + ."\n" + .'取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则取值为**sm3**(默认值)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'md5', + ], + 'IkeEncAlg' => [ + 'description' => '第一阶段协商的加密算法。'."\n" + ."\n" + .'取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。 '."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则取值为**sm4**(默认值)。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => '第一阶段协商出的SA的生存周期。单位:秒。'."\n" + ."\n" + .'取值范围:**0**~**86400**。默认值:**86400**。 ', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE版本的协商模式。取值:**main**或**aggressive**。默认值:**main**。 '."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则协商模式仅支持**main**。', + 'type' => 'string', + 'required' => false, + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => '第一阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。 '."\n" + .'取值:**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议的版本。取值:**ikev1**或**ikev2**。默认值:**ikev1**。'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。'."\n" + .' '."\n" + .'如果VPN网关实例类型为国密型,则IKE版本仅支持**ikev1**。', + 'type' => 'string', + 'required' => false, + 'example' => 'ikev1', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。默认值为隧道的IP地址。'."\n" + ."\n" + .'**LocalId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.21.XX.XX', + ], + 'Psk' => [ + 'description' => '预共享密钥,用于隧道与隧道对端之间的身份认证。'."\n" + ."\n" + .'- 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + ."\n" + .'- 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[DescribeVpnConnection](~~2526951~~)接口查询系统自动生成的预共享密钥。 '."\n" + ."\n" + .'> 隧道及隧道对端的预共享密钥需一致,否则系统无法正常建立隧道。', + 'type' => 'string', + 'required' => false, + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。默认值为隧道关联的用户网关的IP地址。'."\n" + ."\n" + .'**RemoteId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.42.XX.XX', + ], + ], + 'required' => false, + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置信息。 '."\n" + ."\n\n" + .' '."\n" + ."\n\n" + ."\n", + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => '第二阶段协商的认证算法。'."\n" + ."\n" + .'取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则取值为**sm3**(默认值)。', + 'type' => 'string', + 'required' => false, + 'example' => 'md5', + ], + 'IpsecEncAlg' => [ + 'description' => '第二阶段协商的加密算法。'."\n" + ."\n" + .'取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。 '."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则取值为**sm4**(默认值)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => '第二阶段协商出的SA的生存周期。单位:秒。'."\n" + ."\n" + .'取值范围:**0**~**86400**。默认值:**86400**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => '第二阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。 '."\n" + ."\n" + .'取值:**disabled**、**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnableTunnelsBgp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '创建双隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否为隧道开启BGP功能。取值:**true**或**false**(默认值)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建 IPsec 连接。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建 IPsec 连接。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '082AD562-B8DB-4BB2-861F-DA1FCA01FD76', + ], + 'VpnConnectionId' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'example' => 'vco-bp15oes1py4i6****', + ], + 'Name' => [ + 'description' => 'IPsec连接的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'CreateTime' => [ + 'description' => 'IPsec连接的创建时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建IPsec连接时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1544666102000', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'InvalidVpnConnection.AlreadyExists', + 'errorMessage' => 'Vpn connection already exists.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnGateway.IpsecVpnDisabled', + 'errorMessage' => 'The vpn gateway does not enable IPSec VPN.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', + 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', + 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', + ], + [ + 'errorCode' => 'VpnRouteEntry.ConflictSSL', + 'errorMessage' => 'The specified route entry has conflict with SSL client.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + [ + 'errorCode' => 'VpnRouteEntry.InvalidWeight', + 'errorMessage' => 'Invalid route entry weight value.', + ], + [ + 'errorCode' => 'InvalidParameter.VpnConnectionName', + 'errorMessage' => 'The specified vpn connection name is invalid.', + ], + [ + 'errorCode' => 'OperationUnsupported.SetDPD', + 'errorMessage' => 'Current version of the VPN does not support setting DPD.', + ], + [ + 'errorCode' => 'OperationUnsupported.SetNatTraversal', + 'errorMessage' => 'Current version of the VPN does not support setting NAT traversal.', + ], + [ + 'errorCode' => 'QuotaExceeded.PolicyBasedRoute', + 'errorMessage' => 'The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s.', + ], + [ + 'errorCode' => 'MissingParameter.TunnelCidr', + 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'OperationUnsupported.EnableBgp', + 'errorMessage' => 'Current version of the VPN does not support enable BGP.', + ], + [ + 'errorCode' => 'MissingParam.CustomerGatewayAsn', + 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'IllegalParam.LocalAsn', + 'errorMessage' => 'The specified LocalAsn is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.BgpConfig', + 'errorMessage' => 'The specified BgpConfig is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.EnableBgp', + 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', + ], + [ + 'errorCode' => 'IllegalParam.TunnelCidr', + 'errorMessage' => 'The specified TunnelCidr is invalid.', + ], + [ + 'errorCode' => 'InvalidLocalBgpIp.Malformed', + 'errorMessage' => 'The specified LocalBgpIp is malformed.', + ], + [ + 'errorCode' => 'IllegalParam.LocalBgpIp', + 'errorMessage' => 'The specified LocalBgpIp is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.RemoteSubnet', + 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.MissCertificate', + 'errorMessage' => 'The VPN gateway has not associated any certificates.', + ], + [ + 'errorCode' => 'MissingParam.RemoteId', + 'errorMessage' => 'The remote ID is mandatory when creating national standard VPN connection.', + ], + [ + 'errorCode' => 'OperationFailed.CenLevelNotSupport', + 'errorMessage' => 'When the VPC to which the VPN gateway belongs is attached to a FULL-mode CEN, the VPN gateway cannot enable BGP.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictRouteEntry', + 'errorMessage' => 'The specified customer gateway has conflict with route entry.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidTunnelCidr.Malformed', + 'errorMessage' => 'The specified TunnelCidr is malformed.', + ], + [ + 'errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwDifferentIkeConfigs', + 'errorMessage' => 'IPSec connections associated with the same user gateway and VPN gateway should have the same pre-shared key and IKE configuration.', + ], + [ + 'errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap', + 'errorMessage' => 'Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictVpnIp', + 'errorMessage' => 'The customer gateway associated with the IPSec connection should not have the same IP address as the VPN gateway.', + ], + [ + 'errorCode' => 'VpnGateway.IPsecServerAndVpnConnectionConflict', + 'errorMessage' => 'The IPSec connection and IPSec server cannot be configured on the same VPN gateway at the same time.', + ], + [ + 'errorCode' => 'InvalidSslVpnServerCertId.NotFound', + 'errorMessage' => 'The parameter is incorrect. The corresponding SSL VPN server certificate cannot be found.', + ], + [ + 'errorCode' => 'MissingParameter.TunnelOptionsSpecification', + 'errorMessage' => 'The required parameters are missing when creating a tunnel for dual-tunnel VPN.', + ], + [ + 'errorCode' => 'CreateDbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of created destination routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of policy routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'CreateVpnConnectionsQuotaFull.QuotaFull', + 'errorMessage' => 'The number of VPN connections exceeds the quota limit.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'OperationFailed.OpenCdtServiceFirst', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'EncAlgInvalid.DesIncompatible', + 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', + ], + [ + 'errorCode' => 'IkeVersionInvalid.GcmIncompatible', + 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified customer gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 60, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"082AD562-B8DB-4BB2-861F-DA1FCA01FD76\\",\\n \\"VpnConnectionId\\": \\"vco-bp15oes1py4i6****\\",\\n \\"Name\\": \\"test\\",\\n \\"CreateTime\\": 1544666102000\\n}","errorExample":""},{"type":"xml","example":"\\n 082AD562-B8DB-4BB2-861F-DA1FCA01FD76\\n vco-bp15oes1py4i6****\\n test\\n 1544666102000\\n","errorExample":""}]', + 'title' => '创建IPsec连接', + 'description' => '- 如果VPN网关实例支持创建双隧道模式的IPsec-VPN连接,则调用`CreateVpnConnection`接口时除支持配置必填参数外,还支持配置以下请求参数:'."\n" + ."\n" + .' **ClientToken**、**Name**、**EffectImmediately**、**AutoConfigRoute**、**Tags**数组、**TunnelOptionsSpecification**数组、**EnableTunnelsBgp**。'."\n" + ."\n" + .' 支持创建双隧道模式IPsec-VPN连接的地域和可用区信息,请参见[IPsec-VPN连接升级为双隧道模式](~~2358946~~)。'."\n" + .'- 如果VPN网关实例仅支持创建单隧道模式的IPsec-VPN连接,则调用`CreateVpnConnection`接口时除支持配置必填参数外,还支持配置以下请求参数:'."\n" + ."\n" + .' **ClientToken**、**CustomerGatewayId**、**Name**、**EffectImmediately**、**IkeConfig**、**IpsecConfig**、**HealthCheckConfig**、**AutoConfigRoute**、**EnableDpd**、**EnableNatTraversal**、**BgpConfig**、**RemoteCaCertificate**、**Tags**数组。'."\n" + ."\n" + .'- **CreateVpnConnection**接口属于异步接口,即系统返回一个实例ID,但该IPsec连接尚未创建成功,系统后台的创建任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询VPN网关实例的状态,来确定IPsec连接的创建状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示IPsec连接正在创建中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示IPsec连接创建成功。'."\n" + ."\n" + .'- **CreateVpnConnection**接口不支持在同一VPN网关下并发创建IPsec连接。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVpnConnection' => [ + 'summary' => '调用DeleteVpnConnection接口删除指定的IPsec连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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-0016e04115b', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPsec连接的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-bp1bbi27hojx80nck****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}"},{"type":"xml","example":"\\n\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n","errorExample":"\\n\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n"}]', + 'title' => '删除指定的IPsec连接', + 'description' => '- **DeleteVpnConnection**接口属于异步接口,即系统返回一个请求ID,但该IPsec连接尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询VPN网关实例的状态,来确定IPsec连接的删除状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示IPsec连接正在删除中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示IPsec连接删除成功。'."\n" + .'- **DeleteVpnConnection**接口不支持在同一VPN网关下并发删除指定的IPsec连接。'."\n" + ."\n" + .'> 删除IPsec连接后,本地IDC与阿里云之间的连接将中断。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVpnConnectionAttribute' => [ + 'summary' => '调用ModifyVpnConnectionAttribute接口修改IPsec连接的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => ' cn-shanghai', + ], + ], + [ + '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-0016e04115b', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp1bbi27hojx80nck****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的名称。 '."\n" + ."\n" + .'长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和本地数据中心互连的VPC侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.1.0/24,10.1.2.0/24', + ], + ], + [ + 'name' => 'RemoteSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '本地数据中心侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => false, + 'example' => '10.2.1.0/24,10.2.2.0/24', + ], + ], + [ + 'name' => 'EffectImmediately', + 'in' => 'query', + 'schema' => [ + 'description' => '选择IPsec连接的配置是否立即生效。取值:'."\n" + .' '."\n" + .'- **true**:是,配置完成后系统立即进行IPsec协议协商。'."\n" + .' '."\n" + .'- **false**:否,当有流量进入时系统才进行IPsec协议协商。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IkeConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第一阶段协商的配置信息: '."\n" + .' '."\n" + .'- **IkeConfig.Psk**:预共享密钥,用于VPN网关与本地数据中心之间的身份认证。'."\n" + ."\n" + .' - 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + .' - 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[DescribeVpnConnection](~~2526951~~)接口查询系统自动生成的预共享密钥。'."\n" + .' > IPsec连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和VPN网关之间无法建立连接。 '."\n" + ."\n" + .'- **IkeConfig.IkeVersion**:IKE协议的版本。取值:**ikev1**或**ikev2**。 '."\n" + ."\n" + .' 相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则IKE版本仅支持**ikev1**。'."\n" + ."\n" + .'- **IkeConfig.IkeMode**:IKE版本的协商模式。取值:**main**或**aggressive**。 '."\n" + .' - **main**:主模式,协商过程安全性高。'."\n" + .' - **aggressive**:野蛮模式,协商快速且协商成功率高。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则协商模式仅支持**main**。'."\n" + ."\n" + .'- **IkeConfig.IkeEncAlg**:第一阶段协商的加密算法。'."\n" + ."\n" + .' 取值:**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则仅取值:**sm4**。'."\n" + ."\n" + .'- **IkeConfig.IkeAuthAlg**:第一阶段协商的认证算法。'."\n" + ."\n" + .' 取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则仅取值:**sm3**。'."\n" + ."\n" + .'- **IkeConfig.IkePfs**:第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:**group1**、**group2**、**group5**、**group14**。'."\n" + ."\n" + .'- **IkeConfig.IkeLifetime**:第一阶段协商出的SA的生存周期。单位:秒。取值范围:**0~86400**。'."\n" + ."\n" + .'- **IkeConfig.LocalId**:VPN网关的标识。长度限制为100个字符,不能包含空格。默认值为VPN网关的IP地址。 '."\n" + ."\n" + .'- **IkeConfig.RemoteId**:用户网关的标识。长度限制为100个字符,不能包含空格。默认值为用户网关的IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '{"Psk":"pgw6dy7d1i8i****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"116.64.XX.XX","RemoteId":"139.18.XX.XX"}', + ], + ], + [ + 'name' => 'IpsecConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第二阶段协商的配置信息: '."\n" + ."\n" + .'- **IpsecConfig.IpsecEncAlg**:第二阶段协商的加密算法。'."\n" + ."\n" + .' 取值:**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则仅取值:**sm4**。'."\n" + ."\n" + .'- **IpsecConfig. IpsecAuthAlg**:第二阶段协商的认证算法。'."\n" + ."\n" + .' 取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .' 如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .' 如果VPN网关实例类型为国密型,则仅取值:**sm3**。'."\n" + ."\n" + .'- **IpsecConfig. IpsecPfs**:转发所有协议的报文,第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:**disabled**、**group1**、**group2**、**group5**、**group14**。 '."\n" + ."\n" + .'- **IpsecConfig. IpsecLifetime**:第二阶段协商出的SA的生存周期。单位:秒。取值范围:**0~86400**。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', + ], + ], + [ + 'name' => 'HealthCheckConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'健康检查配置信息:'."\n" + ."\n" + .'- **HealthCheckConfig.enable**:是否开启健康检查。取值:**true**或**false**。'."\n" + ."\n" + .'- **HealthCheckConfig.dip**:健康检查的目的IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.sip**:健康检查的源IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.interval**:健康检查的重试间隔时间,单位:秒。'."\n" + ."\n" + .'- **HealthCheckConfig.retry**:健康检查的重试发包次数。', + 'type' => 'string', + 'required' => false, + 'example' => '{"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3"}', + ], + ], + [ + 'name' => 'AutoConfigRoute', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动发布路由。取值:'."\n" + ."\n" + .'- **true**:自动发布。'."\n" + .' '."\n" + .'- **false**:不自动发布。 ', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableDpd', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**:开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableNatTraversal', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**:开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'BgpConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'BGP的配置信息:'."\n" + ."\n" + .'- **BgpConfig.EnableBgp**:是否开启BGP功能。取值:**true**或**false**。'."\n" + ."\n" + .'- **BgpConfig.LocalAsn**:阿里云侧的自治系统号。自治系统号取值范围:**1**~**4294967295**。 '."\n" + ."\n" + .' 支持按照两段位的格式进行输入,即:前16位比特.后16位比特。每个段位使用十进制输入。'."\n" + ."\n" + .' 例如输入123.456,则表示自治系统号:123*65536+456=8061384。'."\n" + ."\n" + .'- **BgpConfig.TunnelCidr**:IPsec隧道网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + ."\n" + .' > 一个VPN网关实例下每个IPsec连接的IPsec隧道网段需保持唯一。'."\n" + ."\n" + .'- **LocalBgpIp**:阿里云侧的BGP地址。该地址为IPsec隧道网段内的一个IP地址。 '."\n" + ."\n" + .'> - 当您的VPN网关启用BGP动态路由功能时需要配置该参数。'."\n" + .'>- 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由'."\n" + .'](~~2638220~~)。'."\n" + .'>- 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'string', + 'required' => false, + 'example' => '{"EnableBgp":"true","LocalAsn":"65530","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', + ], + ], + [ + 'name' => 'RemoteCaCertificate', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'如果当前VPN网关实例为国密型VPN网关,您可以修改对端的CA证书。'."\n" + ."\n" + .'如果当前VPN网关实例为普通型VPN网关,不支持配置本参数。', + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + ], + [ + 'name' => 'TunnelOptionsSpecification', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'flat', + 'schema' => [ + 'description' => '修改隧道的配置。'."\n" + ."\n" + .'仅修改双隧道模式的IPsec-VPN连接时支持配置**TunnelOptionsSpecification**数组下的参数。您可以同时修改IPsec-VPN连接主隧道和备隧道的配置。', + 'type' => 'array', + 'items' => [ + 'description' => '修改隧道配置。', + 'type' => 'object', + 'properties' => [ + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tun-opsqc4d97wni27****', + ], + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-1nmwbpgrp7ssqm1yn****', + ], + 'Role' => [ + 'description' => '隧道的角色。'."\n" + ."\n" + .'- **master**:表示当前隧道为主隧道。'."\n" + .'- **slave**:表示当前隧道为备隧道。', + 'type' => 'string', + 'required' => false, + 'example' => 'master', + ], + 'EnableDpd' => [ + 'description' => '是否为隧道开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**:开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '是否为隧道开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**:开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'RemoteCaCertificate' => [ + 'description' => '如果当前VPN网关实例为国密型VPN网关,您可以隧道修改对端的CA证书。'."\n" + ."\n" + .'如果当前VPN网关实例为普通型VPN网关,不支持配置本参数。', + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'TunnelBgpConfig' => [ + 'description' => '修改隧道的BGP配置。', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。自治系统号取值范围:**1**~**4294967295**。默认值:**45104**。'."\n" + ."\n" + .'> - 当您为IPsec连接开启BGP功能后(即指定**EnableTunnelsBgp**参数的值为**true**)支持配置或修改本参数。'."\n" + .'>- 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由](~~2638220~~)。'."\n" + .'>- 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。该地址为BGP网段内的一个IP地址。 ', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.1', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。'."\n" + ."\n" + .'该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + ."\n" + .'>在一个VPN网关实例下,每个隧道的BGP网段需保持唯一。', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.0/30', + ], + ], + 'required' => false, + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置信息。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => '第一阶段协商的认证算法。'."\n" + ."\n" + .'取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则仅取值:**sm3**。', + 'type' => 'string', + 'required' => false, + 'example' => 'md5', + ], + 'IkeEncAlg' => [ + 'description' => '第一阶段协商的加密算法。'."\n" + ."\n" + .'取值:**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则仅取值:**sm4**。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => '第一阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE版本的协商模式。取值:'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则协商模式仅支持**main**。', + 'type' => 'string', + 'required' => false, + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => '第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议的版本。取值:**ikev1**或**ikev2**。'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则IKE版本仅支持**ikev1**。', + 'type' => 'string', + 'required' => false, + 'example' => 'ikev1', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。默认值为隧道的IP地址。'."\n" + ."\n" + .'**LocalId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.21.XX.XX', + ], + 'Psk' => [ + 'description' => '预共享密钥,用于隧道与隧道对端之间的身份认证。'."\n" + ."\n" + .'- 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + ."\n" + .'- 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[DescribeVpnConnection](~~2526951~~)接口查询系统自动生成的预共享密钥。 '."\n" + ."\n" + .'> 隧道及隧道对端的预共享密钥需一致,否则系统无法正常建立隧道。', + 'type' => 'string', + 'required' => false, + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。默认值为隧道关联的用户网关的IP地址。'."\n" + ."\n" + .'**RemoteId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.42.XX.XX', + ], + ], + 'required' => false, + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置信息。 ', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => '第二阶段协商的认证算法。'."\n" + ."\n" + .'取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则仅取值:**sm3**。', + 'type' => 'string', + 'required' => false, + 'example' => 'md5', + ], + 'IpsecEncAlg' => [ + 'description' => '第二阶段协商的加密算法。'."\n" + ."\n" + .'取值:**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .'如果VPN网关实例类型为普通型,则取值为**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .'如果VPN网关实例类型为国密型,则仅取值:**sm4**。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => '第二阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => '第二阶段协商使用的Diffie-Hellman密钥交换算法。'."\n" + ."\n" + .'取值:**disabled**、**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnableTunnelsBgp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '修改双隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否为隧道开启BGP功能。取值:**true**或**false**。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'EnableNatTraversal' => [ + 'description' => 'IPsec连接是否已开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'CreateTime' => [ + 'description' => 'IPsec连接的创建时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建IPsec连接时的总时长。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492753817000', + ], + 'EffectImmediately' => [ + 'description' => 'IPsec连接的配置是否立即生效。'."\n" + ."\n" + .'- **true**:是,配置完成后系统立即进行IPsec协议协商。'."\n" + .' '."\n" + .'- **false**:否,当有流量进入时系统才进行IPsec协议协商。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例的ID。', + 'type' => 'string', + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + 'LocalSubnet' => [ + 'description' => 'VPC侧的网段。', + 'type' => 'string', + 'example' => '10.1.1.0/24,10.1.2.0/24', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7DB79D0C-5F27-4AB5-995B-79BE55102F90', + ], + 'VpnConnectionId' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'example' => 'vco-bp1bbi27hojx80nck****', + ], + 'Description' => [ + 'description' => 'IPsec连接的描述信息。', + 'type' => 'string', + 'example' => 'description', + ], + 'RemoteSubnet' => [ + 'description' => '本地数据中心侧的网段。', + 'type' => 'string', + 'example' => '10.2.1.0/24,10.2.2.0/24', + ], + 'CustomerGatewayId' => [ + 'description' => 'IPsec连接关联的用户网关ID。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'string', + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + 'Name' => [ + 'description' => 'IPsec连接的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'EnableDpd' => [ + 'description' => 'IPsec连接是否已开启DPD(对等体存活检测)功能。'."\n" + ."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'IkeConfig' => [ + 'description' => '第一阶段协商的配置。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**IkeConfig**数组下的参数。', + 'type' => 'object', + 'properties' => [ + 'RemoteId' => [ + 'description' => '本地数据中心侧的标识。支持FQDN和IP格式,默认为当前选取的用户网关的IP地址。', + 'type' => 'string', + 'example' => '139.18.XX.XX', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'LocalId' => [ + 'description' => 'VPC侧的标识。支持FQDN和IP格式,默认为当前选取的VPN网关的IP地址。', + 'type' => 'string', + 'example' => '116.64.XX.XX', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。'."\n" + ."\n" + .'- **ikev1**'."\n" + .'- **ikev2**'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。', + 'type' => 'string', + 'example' => 'ikev1', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => 'pgw6dy7d1i8i****', + ], + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + ], + ], + 'IpsecConfig' => [ + 'description' => '第二阶段协商的配置。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**IpsecConfig**数组下的参数。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'VcoHealthCheck' => [ + 'description' => '健康检查配置。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**VcoHealthCheck**数组下的参数。', + 'type' => 'object', + 'properties' => [ + 'Dip' => [ + 'description' => '目标IP。', + 'type' => 'string', + 'example' => '192.168.1.1', + ], + 'Interval' => [ + 'description' => '健康检查的重试间隔时间,单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Retry' => [ + 'description' => '健康检查的重试发包次数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Sip' => [ + 'description' => '源IP。', + 'type' => 'string', + 'example' => '10.1.1.1', + ], + 'Enable' => [ + 'description' => 'IPsec连接是否已开启健康检查功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'string', + 'example' => 'true', + ], + ], + ], + 'VpnBgpConfig' => [ + 'description' => 'BGP配置信息。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**VpnBgpConfig**数组下的参数。'."\n" + ."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'BGP的协商状态。'."\n" + ."\n" + .'- **success**:正常。'."\n" + ."\n" + .'- **false**:异常。', + 'type' => 'string', + 'example' => 'success', + ], + 'PeerBgpIp' => [ + 'description' => '本地IDC侧的BGP地址。', + 'type' => 'string', + 'example' => '169.254.11.2', + ], + 'TunnelCidr' => [ + 'description' => 'IPsec连接的BGP网段。', + 'type' => 'string', + 'example' => '169.254.11.0/30', + ], + 'EnableBgp' => [ + 'description' => 'BGP的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'LocalBgpIp' => [ + 'description' => '阿里云侧的BGP地址。', + 'type' => 'string', + 'example' => '169.254.11.1', + ], + 'PeerAsn' => [ + 'description' => '本地数据中心侧的自治系统号。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '65531', + ], + 'LocalAsn' => [ + 'description' => '阿里云侧的自治系统号。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '65530', + ], + ], + ], + 'TunnelOptionsSpecification' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TunnelOptions' => [ + 'description' => 'IPsec连接的隧道配置信息。'."\n" + ."\n" + .'仅双隧道模式的IPsec-VPN连接会返回**TunnelOptionsSpecification**数组下的参数。', + 'type' => 'array', + 'items' => [ + 'description' => '隧道的配置信息。', + 'type' => 'object', + 'properties' => [ + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关ID。', + 'type' => 'string', + 'example' => 'cgw-p0wy363lucf1uyae8****', + ], + 'EnableDpd' => [ + 'description' => '隧道是否已开启DPD(对等体存活检测)功能。'."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '隧道是否已开启NAT穿越功能。'."\n" + ."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InternetIp' => [ + 'description' => '隧道阿里云侧网关IP地址。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'RemoteCaCertificate' => [ + 'description' => '隧道对端的CA证书。'."\n" + ."\n" + .'仅VPN网关实例的类型为国密型时才会返回当前参数。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'Role' => [ + 'description' => '隧道的角色。'."\n" + ."\n" + .'- **master**:表示当前隧道为主隧道。'."\n" + .'- **slave**:表示当前隧道为备隧道。', + 'type' => 'string', + 'example' => 'master', + ], + 'State' => [ + 'description' => '隧道的状态。'."\n" + ."\n" + .'- **active**:状态正常。'."\n" + .'- **updating**:更新中。'."\n" + .'- **deleting**:删除中。', + 'type' => 'string', + 'example' => 'active', + ], + 'TunnelBgpConfig' => [ + 'description' => '隧道的BGP配置信息。', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.1', + ], + 'PeerAsn' => [ + 'description' => '隧道对端的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65531', + ], + 'PeerBgpIp' => [ + 'description' => '隧道对端的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.2', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。', + 'type' => 'string', + 'example' => '169.254.10.0/30', + ], + ], + ], + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-opsqc4d97wni27****', + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。', + 'type' => 'string', + 'example' => 'ikev1', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识。', + 'type' => 'string', + 'example' => '47.42.XX.XX', + ], + ], + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'ZoneNo' => [ + 'description' => '隧道部署的可用区。', + 'type' => 'string', + 'example' => 'ap-southeast-5a', + ], + ], + ], + ], + ], + ], + 'EnableTunnelsBgp' => [ + 'description' => '隧道BGP的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'仅双隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ResourceGroupId' => [ + 'description' => 'IPsec连接所属的资源组ID。'."\n" + ."\n" + .'IPsec连接与其关联的VPN网关实例的资源组相同。您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', + 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', + 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', + ], + [ + 'errorCode' => 'VpnRouteEntry.ConflictSSL', + 'errorMessage' => 'The specified route entry has conflict with SSL client.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + [ + 'errorCode' => 'VpnRouteEntry.InvalidWeight', + 'errorMessage' => 'Invalid route entry weight value.', + ], + [ + 'errorCode' => 'QuotaExceeded.PBR', + 'errorMessage' => 'The policy-based routes has reached the upper limit.', + ], + [ + 'errorCode' => 'OperationUnsupported.SetDPD', + 'errorMessage' => 'Current version of the VPN does not support setting DPD.', + ], + [ + 'errorCode' => 'OperationUnsupported.SetNatTraversal', + 'errorMessage' => 'Current version of the VPN does not support setting NAT traversal.', + ], + [ + 'errorCode' => 'QuotaExceeded.PolicyBasedRoute', + 'errorMessage' => 'The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s.', + ], + [ + 'errorCode' => 'MissingParameter.TunnelCidr', + 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'OperationUnsupported.EnableBgp', + 'errorMessage' => 'Current version of the VPN does not support enable BGP.', + ], + [ + 'errorCode' => 'MissingParam.CustomerGatewayAsn', + 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'IllegalParam.LocalAsn', + 'errorMessage' => 'The specified LocalAsn is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.BgpConfig', + 'errorMessage' => 'The specified BgpConfig is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.EnableBgp', + 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', + ], + [ + 'errorCode' => 'IllegalParam.TunnelCidr', + 'errorMessage' => 'The specified TunnelCidr is invalid.', + ], + [ + 'errorCode' => 'InvalidLocalBgpIp.Malformed', + 'errorMessage' => 'The specified LocalBgpIp is malformed.', + ], + [ + 'errorCode' => 'IllegalParam.LocalBgpIp', + 'errorMessage' => 'The specified LocalBgpIp is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.RemoteSubnet', + 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.CenLevelNotSupport', + 'errorMessage' => 'When the VPC to which the VPN gateway belongs is attached to a FULL-mode CEN, the VPN gateway cannot enable BGP.', + ], + [ + 'errorCode' => 'InvalidTunnelCidr.Malformed', + 'errorMessage' => 'The specified TunnelCidr is malformed.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictRouteEntry', + 'errorMessage' => 'The specified customer gateway has conflict with route entry.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'OperationFailed.RouteConflictWithIPsecServer', + 'errorMessage' => 'Operation failed because the route to create conflicts with the client IP pool of the IPsec server.', + ], + [ + 'errorCode' => 'IllegalParam.TunnelId', + 'errorMessage' => 'The specified TunnelId is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.Role', + 'errorMessage' => 'The specified Role is invalid.', + ], + [ + 'errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwDifferentIkeConfigs', + 'errorMessage' => 'IPSec connections associated with the same user gateway and VPN gateway should have the same pre-shared key and IKE configuration.', + ], + [ + 'errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap', + 'errorMessage' => 'Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap.', + ], + [ + 'errorCode' => 'ModifyIkeV1WithMultiRoutes.Invalid', + 'errorMessage' => 'Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.', + ], + [ + 'errorCode' => 'Vco.StatusNotSupport', + 'errorMessage' => 'The current VPN connection state does not support this operation.', + ], + [ + 'errorCode' => 'IkeVersionInvalid.GcmIncompatible', + 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', + ], + [ + 'errorCode' => 'EncAlgInvalid.DesIncompatible', + 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictVpnIp', + 'errorMessage' => 'The specified customer gateway has conflict with vpn gateway ip.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationFailed.RouteConflictWithIPsecServer', + 'errorMessage' => 'Operation failed because the specified route conflicts with IPsec server.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 30, + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EnableNatTraversal\\": true,\\n \\"CreateTime\\": 1492753817000,\\n \\"EffectImmediately\\": false,\\n \\"VpnGatewayId\\": \\"vpn-bp1q8bgx4xnkm2ogj****\\",\\n \\"LocalSubnet\\": \\"10.1.1.0/24,10.1.2.0/24\\",\\n \\"RequestId\\": \\"7DB79D0C-5F27-4AB5-995B-79BE55102F90\\",\\n \\"VpnConnectionId\\": \\"vco-bp1bbi27hojx80nck****\\",\\n \\"Description\\": \\"description\\",\\n \\"RemoteSubnet\\": \\"10.2.1.0/24,10.2.2.0/24\\",\\n \\"CustomerGatewayId\\": \\"cgw-p0w2jemrcj5u61un8****\\",\\n \\"Name\\": \\"nametest\\",\\n \\"EnableDpd\\": true,\\n \\"IkeConfig\\": {\\n \\"RemoteId\\": \\"139.18.XX.XX\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"LocalId\\": \\"116.64.XX.XX\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkeVersion\\": \\"ikev1\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"Psk\\": \\"pgw6dy7d1i8i****\\",\\n \\"IkeAuthAlg\\": \\"sha1\\"\\n },\\n \\"IpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"VcoHealthCheck\\": {\\n \\"Dip\\": \\"192.168.1.1\\",\\n \\"Interval\\": 3,\\n \\"Retry\\": 3,\\n \\"Sip\\": \\"10.1.1.1\\",\\n \\"Enable\\": \\"true\\"\\n },\\n \\"VpnBgpConfig\\": {\\n \\"Status\\": \\"success\\",\\n \\"PeerBgpIp\\": \\"169.254.11.2\\",\\n \\"TunnelCidr\\": \\"169.254.11.0/30\\",\\n \\"EnableBgp\\": \\"true\\",\\n \\"LocalBgpIp\\": \\"169.254.11.1\\",\\n \\"PeerAsn\\": 65531,\\n \\"LocalAsn\\": 65530\\n },\\n \\"TunnelOptionsSpecification\\": {\\n \\"TunnelOptions\\": [\\n {\\n \\"CustomerGatewayId\\": \\"cgw-p0wy363lucf1uyae8****\\",\\n \\"EnableDpd\\": true,\\n \\"EnableNatTraversal\\": true,\\n \\"InternetIp\\": \\"47.21.XX.XX\\",\\n \\"RemoteCaCertificate\\": \\"-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----\\",\\n \\"Role\\": \\"master\\",\\n \\"State\\": \\"active\\",\\n \\"TunnelBgpConfig\\": {\\n \\"LocalAsn\\": 65530,\\n \\"LocalBgpIp\\": \\"169.254.10.1\\",\\n \\"PeerAsn\\": 65531,\\n \\"PeerBgpIp\\": \\"169.254.10.2\\",\\n \\"TunnelCidr\\": \\"169.254.10.0/30\\"\\n },\\n \\"TunnelId\\": \\"tun-opsqc4d97wni27****\\",\\n \\"TunnelIkeConfig\\": {\\n \\"IkeAuthAlg\\": \\"sha1\\",\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeMode\\": \\"main\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeVersion\\": \\"ikev1\\",\\n \\"LocalId\\": \\"47.21.XX.XX\\",\\n \\"Psk\\": \\"123456****\\",\\n \\"RemoteId\\": \\"47.42.XX.XX\\"\\n },\\n \\"TunnelIpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"ZoneNo\\": \\"ap-southeast-5a\\"\\n }\\n ]\\n },\\n \\"EnableTunnelsBgp\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n true\\n 1492753817000\\n false\\n vpn-bp1q8bgx4xnkm2ogj****\\n 10.1.1.0/24,10.1.2.0/24\\n 7DB79D0C-5F27-4AB5-995B-79BE55102F90\\n vco-bp1bbi27hojx80nck****\\n description\\n 10.2.1.0/24,10.2.2.0/24\\n cgw-p0w2jemrcj5u61un8****\\n nametest\\n true\\n \\n 139.18.XX.XX\\n 86400\\n aes\\n 116.64.XX.XX\\n main\\n ikev1\\n group2\\n pgw6dy7d1i8i****\\n sha1\\n \\n \\n sha1\\n 86400\\n aes\\n group2\\n \\n \\n 192.168.1.1\\n 3\\n 3\\n 10.1.1.1\\n true\\n \\n \\n success\\n 169.254.11.2\\n 169.254.11.0/30\\n true\\n 169.254.11.1\\n 65531\\n 65530\\n \\n","errorExample":""}]', + 'title' => '修改IPsec连接的配置信息', + 'description' => '- 如果要修改双隧道模式的IPsec-VPN连接,调用`ModifyVpnConnectionAttribute`接口时除支持配置必填参数外,还支持配置以下请求参数:'."\n" + ."\n" + .' **ClientToken**、**Name**、 **LocalSubnet**、**RemoteSubnet**、**EffectImmediately**、**AutoConfigRoute**、**TunnelOptionsSpecification**数组、**EnableTunnelsBgp**。'."\n" + ."\n" + .'- 如果要修改单隧道模式的IPsec-VPN连接,调用`ModifyVpnConnectionAttribute`接口时除支持配置必填参数外,还支持配置以下请求参数:'."\n" + ."\n" + .' **ClientToken**、**Name**、**LocalSubnet**、**RemoteSubnet**、**EffectImmediately**、**IkeConfig**、**IpsecConfig**、**HealthCheckConfig**、**AutoConfigRoute**、**EnableDpd**、**EnableNatTraversal**、**BgpConfig**、**RemoteCaCertificate**。'."\n" + ."\n" + .'- **ModifyVpnConnectionAttribute**接口属于异步接口,即系统返回一个请求ID,但该IPsec连接的配置信息未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询VPN网关实例状态,来确定IPsec连接的配置信息的修改状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示IPsec连接的配置信息正在修改中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示IPsec连接的配置信息修改成功。'."\n" + .'- **ModifyVpnConnectionAttribute**接口不支持在同一VPN网关下并发修改IPsec连接的配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyTunnelAttribute' => [ + 'summary' => '调用ModifyTunnelAttribute接口修改高可用VPN的隧道配置信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'TunnelOptionsSpecification', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '修改隧道的配置。', + 'type' => 'object', + 'properties' => [ + 'EnableDpd' => [ + 'description' => '是否开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**:开启DPD功能。隧道发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,隧道将删除ISAKMP SA和相应的IPsec SA,隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,隧道发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '是否开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**:开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'RemoteCaCertificate' => [ + 'description' => '在国密型VPN网关下使用IPsec连接时,对端的CA证书。', + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'TunnelBgpConfig' => [ + 'description' => '修改隧道的BGP配置。'."\n" + ."\n" + .'如果隧道之前并未开启BGP功能,您需要调用[ModifyVpnConnectionAttribute](~~120381~~)接口为隧道开启BGP功能并添加BGP配置。', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '隧道本端自治系统号。自治系统号取值范围:**1**~**4294967295**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端的BGP IP地址。该地址需是**TunnelCidr**内的一个IP地址。 ', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.11.1', + ], + 'TunnelCidr' => [ + 'description' => '隧道本端BGP IP地址所属网段。'."\n" + ."\n" + .'该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是 169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30 和 169.254.169.252/30。'."\n" + ."\n" + .'> 一个VPN网关实例下每个IPsec连接的IPsec隧道网段需保持唯一。', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.11.0/30', + ], + ], + 'required' => false, + ], + 'TunnelIkeConfig' => [ + 'description' => '修改隧道IKE阶段(第一阶段)配置。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => '第一阶段协商的认证算法。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 如果IPsec关联的是普通型VPN网关,则取值为:**md5**、**sha1**、**sha256**、**sha384**或**sha512**。'."\n" + .'- 如果IPsec关联的是国密型VPN网关,则取值为:**sm3**。'."\n" + ."\n" + .''."\n" + ."\n\n" + .''."\n" + ."\n" + .'取值为:**md5**、**sha1**、**sha256**、**sha384**或**sha512**'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => '第一阶段协商的加密算法。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 如果IPsec关联的是普通型VPN网关,则取值为:**aes**、**aes192**、**aes256**、**des**或**3des**。 '."\n" + .'- 如果IPsec关联的是国密型VPN网关,则取值为:**sm4**。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'取值为:**aes**、**aes192**、**aes256**、**des**或**3des**。 '."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => '第一阶段协商出的SA的生存周期。单位:秒。取值范围:**0~86400**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE版本的协商模式。取值:'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'required' => false, + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => '第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议的版本。取值:**ikev1**或**ikev2**。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ikev2', + ], + 'LocalId' => [ + 'description' => '隧道本端的标识。长度限制为100个字符,,不能包含空格,支持FQDN和IP格式。默认值为隧道的IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '47.XX.XX.87', + ], + 'Psk' => [ + 'description' => '预共享密钥,用于隧道及对端之间的身份认证。'."\n" + .' '."\n" + .' - 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + .' - 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[DescribeVpnConnection](~~120374~~)接口查询系统自动生成的预共享密钥。'."\n" + .' > 隧道及隧道对端配置的预共享密钥必须一致,否则系统无法成功建立隧道。', + 'type' => 'string', + 'required' => false, + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识。长度限制为100个字符,不能包含空格,支持FQDN和IP格式。默认值为隧道关联的用户网关实例的IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '47.XX.XX.207', + ], + ], + 'required' => false, + ], + 'TunnelIpsecConfig' => [ + 'description' => '修改隧道IPsec阶段(第二阶段)的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => '第二阶段协商的认证算法。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 如果IPsec关联的是普通型VPN网关,则取值为:**md5**、**sha1**、**sha256**、**sha384**或**sha512**。'."\n" + .'- 如果IPsec关联的是国密型VPN网关,则取值为:**sm3**。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'取值为:**md5**、**sha1**、**sha256**、**sha384**或**sha512**。'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => '第二阶段协商的加密算法。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 如果IPsec关联的是普通型VPN网关,则取值为:**aes**、**aes192**、**aes256**、**des**或**3des**。 '."\n" + .'- 如果IPsec关联的是国密型VPN网关,则取值为:**sm4**。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'取值为:**aes**、**aes192**、**aes256**、**des**或**3des**。 '."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => '第二阶段协商出的SA的生存周期。单位:秒。取值范围:**0~86400**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => '第二阶段协商使用的Diffie-Hellman密钥交换算法。取值:**disabled**、**group1**、**group2**、**group5**、**group14**。 '."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + ], + 'required' => false, + ], + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-1nmwbpgrp7ssqm1yn****', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-gw69vm1i71y354****', + ], + ], + [ + 'name' => 'TunnelId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'tun-gbyz2e070xzo93****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-gbyz2e070xzo93****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E6F36FF0-9544-3AEE-8673-A4647D50064C', + ], + 'TunnelIkeConfig' => [ + 'description' => '隧道IKE阶段(第一阶段)配置。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => 'IKE认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => 'IKE生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => 'DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。'."\n" + ."\n" + .'- **ikev1**'."\n" + .'- **ikev2**'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。', + 'type' => 'string', + 'example' => 'ikev2', + ], + 'LocalId' => [ + 'description' => '隧道本端的标识。支持FQDN和IP格式,默认值为当前隧道的IP地址。', + 'type' => 'string', + 'example' => '47.XX.XX.87', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识。支持FQDN和IP格式,默认值为隧道关联的用户网关实例的IP地址。', + 'type' => 'string', + 'example' => '47.XX.XX.207', + ], + ], + ], + 'TunnelIpsecConfig' => [ + 'description' => '隧道IPsec阶段(第二阶段)的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => 'DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'TunnelBgpConfig' => [ + 'description' => '隧道的BGP配置信息。', + 'type' => 'object', + 'properties' => [ + 'EnableBgp' => [ + 'description' => 'BGP的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'LocalAsn' => [ + 'description' => '隧道本端的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端的BGP IP地址。', + 'type' => 'string', + 'example' => '169.254.11.1', + ], + 'PeerAsn' => [ + 'description' => '隧道对端的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65531', + ], + 'PeerBgpIp' => [ + 'description' => '隧道对端的BGP IP地址。', + 'type' => 'string', + 'example' => '169.254.11.2', + ], + 'TunnelCidr' => [ + 'description' => '隧道BGP IP地址所属网段。', + 'type' => 'string', + 'example' => '169.254.11.0/30', + ], + ], + ], + 'EnableNatTraversal' => [ + 'description' => '是否已开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'- **true**:已开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EnableDpd' => [ + 'description' => '是否已开启DPD(对等体存活检测)功能。'."\n" + ."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'- **true**:已开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'RemoteCaCertificate' => [ + 'description' => '国密型VPN网关创建IPsec连接时,对端的CA证书。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关实例ID。', + 'type' => 'string', + 'example' => 'cgw-p0wx48ayhrygitm80****', + ], + 'Role' => [ + 'description' => '隧道的角色。'."\n" + ."\n" + .'- **master**:表示主隧道。'."\n" + .'- **slave**:表示备隧道。', + 'type' => 'string', + 'example' => 'master', + ], + 'ZoneNo' => [ + 'description' => '隧道所属的可用区。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'InternetIp' => [ + 'description' => '隧道的IP地址。', + 'type' => 'string', + 'example' => '47.XX.XX.87', + ], + 'State' => [ + 'description' => '隧道的状态。'."\n" + ."\n" + .'- **active**:表示隧道状态可用。'."\n" + .'- **updating**:表示隧道正在更新中。'."\n" + .'- **deleting**:表示隧道正在删除中。', + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', + 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', + 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', + ], + [ + 'errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwDifferentIkeConfigs', + 'errorMessage' => 'IPSec connections associated with the same user gateway and VPN gateway should have the same pre-shared key and IKE configuration.', + ], + [ + 'errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap', + 'errorMessage' => 'Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap.', + ], + [ + 'errorCode' => 'IllegalParam.LocalAsn', + 'errorMessage' => 'The param of LocalAsn is illegal', + ], + [ + 'errorCode' => 'IllegalParam.LocalBgpIp', + 'errorMessage' => 'The specified LocalBgpIp is invalid.', + ], + [ + 'errorCode' => 'VpnGateway.task.conflict', + 'errorMessage' => 'The VPN is in the configuration state, please wait a while before operating.', + ], + [ + 'errorCode' => 'ModifyIkeV1WithMultiRoutes.Invalid', + 'errorMessage' => 'Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.', + ], + [ + 'errorCode' => 'EncAlgInvalid.DesIncompatible', + 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', + ], + [ + 'errorCode' => 'IkeVersionInvalid.GcmIncompatible', + 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictVpnIp', + 'errorMessage' => 'The specified customer gateway has conflict with vpn gateway ip.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TunnelId\\": \\"tun-gbyz2e070xzo93****\\",\\n \\"RequestId\\": \\"E6F36FF0-9544-3AEE-8673-A4647D50064C\\",\\n \\"TunnelIkeConfig\\": {\\n \\"IkeAuthAlg\\": \\"sha1\\",\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeMode\\": \\"main\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeVersion\\": \\"ikev2\\",\\n \\"LocalId\\": \\"47.XX.XX.87\\",\\n \\"Psk\\": \\"123456****\\",\\n \\"RemoteId\\": \\"47.XX.XX.207\\"\\n },\\n \\"TunnelIpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"TunnelBgpConfig\\": {\\n \\"EnableBgp\\": true,\\n \\"LocalAsn\\": 65530,\\n \\"LocalBgpIp\\": \\"169.254.11.1\\",\\n \\"PeerAsn\\": 65531,\\n \\"PeerBgpIp\\": \\"169.254.11.2\\",\\n \\"TunnelCidr\\": \\"169.254.11.0/30\\"\\n },\\n \\"EnableNatTraversal\\": true,\\n \\"EnableDpd\\": true,\\n \\"RemoteCaCertificate\\": \\"-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----\\",\\n \\"CustomerGatewayId\\": \\"cgw-p0wx48ayhrygitm80****\\",\\n \\"Role\\": \\"master\\",\\n \\"ZoneNo\\": \\"cn-hangzhou-h\\",\\n \\"InternetIp\\": \\"47.XX.XX.87\\",\\n \\"State\\": \\"active\\"\\n}","errorExample":""},{"type":"xml","example":"\\n tun-gbyz2e070xzo93****\\n E6F36FF0-9544-3AEE-8673-A4647D50064C\\n \\n sha1\\n aes\\n 86400\\n main\\n group2\\n ikev2\\n 47.XX.XX.87\\n 123456****\\n 47.XX.XX.207\\n \\n \\n sha1\\n aes\\n 86400\\n group2\\n \\n \\n true\\n 65530\\n 169.254.11.1\\n 65531\\n 169.254.11.2\\n 169.254.11.0/30\\n \\n true\\n true\\n -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----\\n cgw-p0wx48ayhrygitm80****\\n master\\n ap-southeast-2b\\n 47.XX.XX.87\\n active\\n","errorExample":""}]', + 'title' => '修改VPN隧道信息', + ], + 'DescribeVpnConnection' => [ + 'summary' => '调用DescribeVpnConnection接口查询指定的IPsec连接的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp1bbi27hojx80nck****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'IPsec连接的状态。'."\n" + ."\n" + .'- **ike_sa_not_established**:第一阶段协商失败。'."\n" + ."\n" + .'- **ike_sa_established**:第一阶段协商成功。'."\n" + ."\n" + .'- **ipsec_sa_not_established**:第二阶段协商失败。'."\n" + ."\n" + .'- **ipsec_sa_established**:第二阶段协商成功。', + 'type' => 'string', + 'example' => 'ike_sa_not_established', + ], + 'RemoteCaCertificate' => [ + 'description' => '对端的CA证书。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW****', + ], + 'EnableNatTraversal' => [ + 'description' => 'IPsec连接是否已开启NAT穿越功能。'."\n" + ."\n" + .'- **true**:开启NAT穿越功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。'."\n" + ."\n" + .'开启NAT穿越功能后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'CreateTime' => [ + 'description' => '创建IPsec连接的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建IPsec连接时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492753817000', + ], + 'EffectImmediately' => [ + 'description' => 'IPsec连接的配置是否立即生效。'."\n" + ."\n" + .'- **true**:是,配置变更完成后触发重连。'."\n" + ."\n" + .'- **false**:否,有流量时触发重连。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关的实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + 'LocalSubnet' => [ + 'description' => 'IPsec连接阿里云侧的网段。'."\n" + ."\n" + .'在多个网段的情况下,网段之间使用半角逗号(,)分隔。', + 'type' => 'string', + 'example' => '10.0.0.0/8', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F2310D45-BCF6-4E2E-9082-B4503844BA4C', + ], + 'VpnConnectionId' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'example' => 'vco-bp1bbi27hojx80nck****', + ], + 'RemoteSubnet' => [ + 'description' => '本地数据中心侧的网段。'."\n" + ."\n" + .'在多个网段的情况下,网段之间使用半角逗号(,)分隔。', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'CustomerGatewayId' => [ + 'description' => 'IPsec连接关联的用户网关ID。', + 'type' => 'string', + 'example' => 'cgw-bp1mvj4g9kogwwcxk****', + ], + 'Name' => [ + 'description' => 'IPsec连接的名称。', + 'type' => 'string', + 'example' => 'ipsec1', + ], + 'EnableDpd' => [ + 'description' => 'IPsec连接是否已开启DPD(对等体存活检测)功能。'."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'开启DPD功能后,IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'IkeConfig' => [ + 'description' => '第一阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'RemoteId' => [ + 'description' => 'IPsec连接本地数据中心侧的标识。', + 'type' => 'string', + 'example' => '139.34.XX.XX', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'LocalId' => [ + 'description' => 'IPsec连接阿里云侧的标识。', + 'type' => 'string', + 'example' => '116.28.XX.XX', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。'."\n" + ."\n" + .'- **ikev1**'."\n" + .'- **ikev2**'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。', + 'type' => 'string', + 'example' => 'ikev1', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => 'pgw6dy****', + ], + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + ], + ], + 'IpsecConfig' => [ + 'description' => '第二阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'VcoHealthCheck' => [ + 'description' => 'IPsec连接的健康检查信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '健康检查状态。'."\n" + ."\n" + .'- **failed**:异常。'."\n" + ."\n" + .'- **success**:正常。', + 'type' => 'string', + 'example' => 'failed', + ], + 'Dip' => [ + 'description' => '目标IP地址。', + 'type' => 'string', + 'example' => '10.0.0.1', + ], + 'Interval' => [ + 'description' => '健康检查的重试间隔时间,单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Retry' => [ + 'description' => '健康检查的重试发包次数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Sip' => [ + 'description' => '源IP地址。', + 'type' => 'string', + 'example' => '192.168.1.1', + ], + 'Enable' => [ + 'description' => 'IPsec连接是否已开启健康检查。'."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'true', + ], + 'Policy' => [ + 'description' => '健康检查失败时是否撤销已发布的路由。'."\n" + ."\n" + .'- **revoke_route**:撤销路由。'."\n" + .'- **reserve_route**:不撤销路由。', + 'type' => 'string', + 'example' => 'revoke_route', + ], + ], + ], + 'VpnBgpConfig' => [ + 'description' => 'IPsec连接BGP路由协议的配置信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'BGP路由协议的协商状态。'."\n" + ."\n" + .'- **success**:正常。'."\n" + ."\n" + .'- **failed**:异常。', + 'type' => 'string', + 'example' => 'success', + ], + 'PeerBgpIp' => [ + 'description' => '对端BGP地址。', + 'type' => 'string', + 'example' => '169.254.11.1', + ], + 'TunnelCidr' => [ + 'description' => 'IPsec连接BGP网段。该网段是一个在169.254.0.0/16内的子网掩码长度为30的网段。', + 'type' => 'string', + 'example' => '169.254.11.0/30', + ], + 'EnableBgp' => [ + 'description' => 'BGP路由协议的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'LocalBgpIp' => [ + 'description' => '阿里云侧BGP地址。', + 'type' => 'string', + 'example' => '169.254.11.2', + ], + 'PeerAsn' => [ + 'description' => '对端自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65530', + ], + 'LocalAsn' => [ + 'description' => '阿里云侧自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65531', + ], + 'AuthKey' => [ + 'description' => 'BGP路由协议的认证密钥。', + 'type' => 'string', + 'example' => 'AuthKey****', + ], + ], + ], + 'AttachType' => [ + 'description' => 'IPsec连接绑定的资源类型。'."\n" + ."\n" + .'- **CEN**:表示IPsec连接已绑定云企业网实例下的转发路由器实例。'."\n" + .'- **NO_ASSOCIATED**:表示IPsec连接未绑定任何资源。'."\n" + .'- **VPNGW**:表示IPsec连接绑定了VPN网关实例。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'NetworkType' => [ + 'description' => 'IPsec连接的网络类型。'."\n" + ."\n" + .'- **public**:公网,表示IPsec连接通过公网建立加密通信通道。'."\n" + .'- **private**:私网,表示IPsec连接通过私网建立加密通信通道。', + 'type' => 'string', + 'example' => 'public', + ], + 'AttachInstanceId' => [ + 'description' => '转发路由器实例所属的云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-lxxpbpalc776qz****', + ], + 'Spec' => [ + 'description' => 'IPsec连接的带宽规格。单位:**Mbps**。', + 'type' => 'string', + 'example' => '1000M', + ], + 'State' => [ + 'description' => 'IPsec连接与转发路由器实例的绑定状态。'."\n" + ."\n" + .'- **active**:IPsec连接已与VPN网关实例绑定,状态正常。'."\n" + .'- **init**:IPsec连接未绑定任何资源,IPsec连接初始化。'."\n" + .'- **attaching**:IPsec连接与转发路由器实例绑定中。'."\n" + .'- **attached**:IPsec连接已与转发路由器实例绑定。'."\n" + .'- **detaching**:IPsec连接与转发路由器实例解绑中。'."\n" + .'- **financialLocked**:欠费锁定。'."\n" + .'- **provisioning**:资源准备中。'."\n" + .'- **updating**:更新中。'."\n" + .'- **upgrading**:升级中。'."\n" + .'- **deleted**:已删除。', + 'type' => 'string', + 'example' => 'attached', + ], + 'ZoneNo' => [ + 'description' => 'IPsec连接被部署的可用区ID。'."\n" + ."\n" + .'您可以调用[DescribeZones](~~36064~~)接口查询可用区ID和可用区的对应关系。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'InternetIp' => [ + 'description' => 'IPsec连接的网关IP地址。', + 'type' => 'string', + 'example' => '47.XX.XX.162', + ], + 'TransitRouterId' => [ + 'description' => 'IPsec连接绑定的转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-p0we2edef9qr44a85****', + ], + 'TransitRouterName' => [ + 'description' => '转发路由器实例的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'CrossAccountAuthorized' => [ + 'description' => 'IPsec连接是否绑定了跨账号的转发路由器实例。'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'IPsec连接绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + ], + ], + 'TunnelOptionsSpecification' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TunnelOptions' => [ + 'description' => 'IPsec连接的隧道配置信息。'."\n" + ."\n" + .'仅查询双隧道模式的IPsec连接会返回**TunnelOptionsSpecification**数组下的参数。', + 'type' => 'array', + 'items' => [ + 'description' => '隧道的配置信息。', + 'type' => 'object', + 'properties' => [ + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-opsqc4d97wni27****', + ], + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关ID。', + 'type' => 'string', + 'example' => 'cgw-p0wy363lucf1uyae8****', + ], + 'EnableDpd' => [ + 'description' => '隧道是否已开启DPD(对等体存活检测)功能。'."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '隧道是否已开启NAT穿越功能。'."\n" + ."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'InternetIp' => [ + 'description' => '隧道的IP地址。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'RemoteCaCertificate' => [ + 'description' => '隧道对端的CA证书。'."\n" + ."\n" + .'仅VPN网关实例的类型为国密型时才会返回当前参数。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'Role' => [ + 'description' => '隧道的角色。'."\n" + ."\n" + .'- **master**:表示当前隧道为主隧道。'."\n" + .'- **slave**:表示当前隧道为备隧道。', + 'type' => 'string', + 'example' => 'master', + ], + 'TunnelIndex' => [ + 'description' => '隧道的创建顺序。'."\n" + .'- **1**:第一条隧道。'."\n" + .'- **2**:第二条隧道。'."\n" + ."\n" + .'> 仅IPsec连接绑定转发路由器时会返回该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'State' => [ + 'description' => '隧道的状态。'."\n" + ."\n" + .'- **active**:状态正常。'."\n" + .'- **updating**:更新中。'."\n" + .'- **deleting**:删除中。', + 'type' => 'string', + 'example' => 'active', + ], + 'Status' => [ + 'description' => 'IPsec连接的状态。'."\n" + ."\n" + .'- **ike_sa_not_established**:第一阶段协商失败。'."\n" + ."\n" + .'- **ike_sa_established**:第一阶段协商成功。'."\n" + ."\n" + .'- **ipsec_sa_not_established**:第二阶段协商失败。'."\n" + ."\n" + .'- **ipsec_sa_established**:第二阶段协商成功。', + 'type' => 'string', + 'example' => 'ipsec_sa_established', + ], + 'TunnelBgpConfig' => [ + 'description' => '隧道的BGP配置信息。', + 'type' => 'object', + 'properties' => [ + 'BgpStatus' => [ + 'description' => 'BGP的协商状态。'."\n" + ."\n" + .'- **success**:正常。'."\n" + .'- **failed**:异常。', + 'type' => 'string', + 'example' => 'success', + ], + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。', + 'type' => 'string', + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.1', + ], + 'PeerAsn' => [ + 'description' => '隧道对端的自治系统号。', + 'type' => 'string', + 'example' => '65531', + ], + 'PeerBgpIp' => [ + 'description' => '隧道对端的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.2', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。', + 'type' => 'string', + 'example' => '169.254.10.0/30', + ], + ], + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'string', + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。', + 'type' => 'string', + 'example' => 'ikev1', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识。', + 'type' => 'string', + 'example' => '47.42.XX.XX', + ], + ], + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'string', + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'ZoneNo' => [ + 'description' => '隧道部署的可用区。'."\n" + ."\n" + .'您可以调用[DescribeZones](~~36064~~)接口查询可用区ID和可用区的对应关系。', + 'type' => 'string', + 'example' => 'cn-hangzhou-i', + ], + ], + ], + ], + ], + ], + 'EnableTunnelsBgp' => [ + 'description' => '隧道BGP的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ResourceGroupId' => [ + 'description' => 'IPsec连接所属资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + 'TunnelBandwidth' => [ + 'title' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'description' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'type' => 'string', + 'example' => 'Standard', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"ike_sa_not_established\\",\\n \\"RemoteCaCertificate\\": \\"-----BEGIN CERTIFICATE----- MIIB7zCCAZW****\\",\\n \\"EnableNatTraversal\\": true,\\n \\"CreateTime\\": 1492753817000,\\n \\"EffectImmediately\\": true,\\n \\"VpnGatewayId\\": \\"vpn-bp1q8bgx4xnkm2ogj****\\",\\n \\"LocalSubnet\\": \\"10.0.0.0/8\\",\\n \\"RequestId\\": \\"F2310D45-BCF6-4E2E-9082-B4503844BA4C\\",\\n \\"VpnConnectionId\\": \\"vco-bp1bbi27hojx80nck****\\",\\n \\"RemoteSubnet\\": \\"192.168.0.0/16\\",\\n \\"CustomerGatewayId\\": \\"cgw-bp1mvj4g9kogwwcxk****\\",\\n \\"Name\\": \\"ipsec1\\",\\n \\"EnableDpd\\": true,\\n \\"IkeConfig\\": {\\n \\"RemoteId\\": \\"139.34.XX.XX\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"LocalId\\": \\"116.28.XX.XX\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkeVersion\\": \\"ikev1\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"Psk\\": \\"pgw6dy****\\",\\n \\"IkeAuthAlg\\": \\"sha1\\"\\n },\\n \\"IpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"VcoHealthCheck\\": {\\n \\"Status\\": \\"failed\\",\\n \\"Dip\\": \\"10.0.0.1\\",\\n \\"Interval\\": 3,\\n \\"Retry\\": 3,\\n \\"Sip\\": \\"192.168.1.1\\",\\n \\"Enable\\": \\"true\\",\\n \\"Policy\\": \\"revoke_route\\"\\n },\\n \\"VpnBgpConfig\\": {\\n \\"Status\\": \\"success\\",\\n \\"PeerBgpIp\\": \\"169.254.11.1\\",\\n \\"TunnelCidr\\": \\"169.254.11.0/30\\",\\n \\"EnableBgp\\": \\"true\\",\\n \\"LocalBgpIp\\": \\"169.254.11.2\\",\\n \\"PeerAsn\\": 65530,\\n \\"LocalAsn\\": 65531,\\n \\"AuthKey\\": \\"AuthKey****\\"\\n },\\n \\"AttachType\\": \\"CEN\\",\\n \\"NetworkType\\": \\"public\\",\\n \\"AttachInstanceId\\": \\"cen-lxxpbpalc776qz****\\",\\n \\"Spec\\": \\"1000M\\",\\n \\"State\\": \\"attached\\",\\n \\"ZoneNo\\": \\"cn-hangzhou-h\\",\\n \\"InternetIp\\": \\"47.XX.XX.162\\",\\n \\"TransitRouterId\\": \\"tr-p0we2edef9qr44a85****\\",\\n \\"TransitRouterName\\": \\"nametest\\",\\n \\"CrossAccountAuthorized\\": false,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ]\\n },\\n \\"TunnelOptionsSpecification\\": {\\n \\"TunnelOptions\\": [\\n {\\n \\"TunnelId\\": \\"tun-opsqc4d97wni27****\\",\\n \\"CustomerGatewayId\\": \\"cgw-p0wy363lucf1uyae8****\\",\\n \\"EnableDpd\\": \\"true\\",\\n \\"EnableNatTraversal\\": \\"true\\",\\n \\"InternetIp\\": \\"47.21.XX.XX\\",\\n \\"RemoteCaCertificate\\": \\"-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----\\",\\n \\"Role\\": \\"master\\",\\n \\"TunnelIndex\\": 1,\\n \\"State\\": \\"active\\",\\n \\"Status\\": \\"ipsec_sa_established\\",\\n \\"TunnelBgpConfig\\": {\\n \\"BgpStatus\\": \\"success\\",\\n \\"LocalAsn\\": \\"65530\\",\\n \\"LocalBgpIp\\": \\"169.254.10.1\\",\\n \\"PeerAsn\\": \\"65531\\",\\n \\"PeerBgpIp\\": \\"169.254.10.2\\",\\n \\"TunnelCidr\\": \\"169.254.10.0/30\\"\\n },\\n \\"TunnelIkeConfig\\": {\\n \\"IkeAuthAlg\\": \\"sha1\\",\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"IkeLifetime\\": \\"86400\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeVersion\\": \\"ikev1\\",\\n \\"LocalId\\": \\"47.21.XX.XX\\",\\n \\"Psk\\": \\"123456****\\",\\n \\"RemoteId\\": \\"47.42.XX.XX\\"\\n },\\n \\"TunnelIpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecLifetime\\": \\"86400\\",\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"ZoneNo\\": \\"cn-hangzhou-i\\"\\n }\\n ]\\n },\\n \\"EnableTunnelsBgp\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"TunnelBandwidth\\": \\"Standard\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ike_sa_not_established\\n -----BEGIN CERTIFICATE----- MIIB7zCCAZW****\\n true\\n 1492753817000\\n true\\n vpn-bp1q8bgx4xnkm2ogj****\\n active\\n 10.0.0.0/8\\n F2310D45-BCF6-4E2E-9082-B4503844BA4C\\n vco-bp1bbi27hojx80nck****\\n 192.168.0.0/16\\n cgw-bp1mvj4g9kogwwcxk****\\n ipsec1\\n true\\n \\n 139.34.XX.XX\\n 86400\\n aes\\n 116.28.XX.XX\\n main\\n ikev1\\n group2\\n pgw6dy****\\n sha1\\n \\n \\n sha1\\n 86400\\n aes\\n group2\\n \\n \\n failed\\n 10.0.0.1\\n 3\\n 3\\n 192.168.1.1\\n true\\n \\n \\n success\\n 169.254.11.1\\n 169.254.11.0/30\\n true\\n 169.254.11.2\\n 65530\\n 65531\\n AuthKey****\\n \\n","errorExample":""}]', + 'title' => '查询已创建的IPsec连接的详细信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVpnConnections' => [ + 'summary' => '调用DescribeVpnConnections接口查询IPsec连接信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => ' VPN网关实例ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-bp1q8bgx4xnkx****', + ], + ], + [ + 'name' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-bp1mvj4g9kogw****', + ], + ], + [ + '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' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vco-bp10lz7aejumd****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'IPsec连接绑定的标签列表。'."\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' => 21, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '238752DC-0693-49BE-9C85-711D5691D3E5', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'VpnConnections' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VpnConnection' => [ + 'description' => 'IPsec连接的配置信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPsec连接的配置信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'IPsec连接的状态。'."\n" + ."\n" + .'- **ike_sa_not_established**:第一阶段协商失败。'."\n" + ."\n" + .'- **ike_sa_established**:第一阶段协商成功。'."\n" + ."\n" + .'- **ipsec_sa_not_established**:第二阶段协商失败。'."\n" + ."\n" + .'- **ipsec_sa_established**:第二阶段协商成功。', + 'type' => 'string', + 'example' => 'ipsec_sa_established', + ], + 'EnableNatTraversal' => [ + 'description' => 'IPsec连接是否已开启NAT穿越功能。'."\n" + ."\n" + .'- **true**:开启NAT穿越功能。'."\n" + ."\n" + .' 开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'RemoteCaCertificate' => [ + 'description' => '对端的CA证书。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'CreateTime' => [ + 'description' => '创建IPsec连接的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建IPsec连接时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492753817000', + ], + 'EffectImmediately' => [ + 'description' => 'IPsec连接的配置是否立即生效。'."\n" + ."\n" + .'- **true**:是,配置变更完成后触发重连。'."\n" + .'- **false**:否,有流量时触发重连。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关的实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1q8bgx4xnkm****', + ], + 'LocalSubnet' => [ + 'description' => 'IPsec连接阿里云侧的网段。'."\n" + ."\n" + .'在多个网段的情况下,网段之间使用半角逗号(,)分隔。', + 'type' => 'string', + 'example' => '192.168.0.0/16,172.17.0.0/16', + ], + 'VpnConnectionId' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'example' => 'vco-bp10lz7aejumd****', + ], + 'RemoteSubnet' => [ + 'description' => '本地数据中心侧的网段。'."\n" + ."\n" + .'在多个网段的情况下,网段之间使用半角逗号(,)分隔。', + 'type' => 'string', + 'example' => '10.0.0.0/8,172.16.0.0/16', + ], + 'CustomerGatewayId' => [ + 'description' => 'IPsec连接关联的用户网关的实例ID。', + 'type' => 'string', + 'example' => 'cgw-bp1mvj4g9kogw****', + ], + 'Name' => [ + 'description' => 'IPsec连接的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'EnableDpd' => [ + 'description' => 'IPsec连接是否已开启DPD(对等体存活检测)功能。'."\n" + ."\n" + .'- **true**:开启DPD功能。'."\n" + ."\n" + .' IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'IkeConfig' => [ + 'description' => '第一阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'RemoteId' => [ + 'description' => 'IPsec连接阿里云侧的标识。', + 'type' => 'string', + 'example' => '139.17.XX.XX', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'LocalId' => [ + 'description' => 'IPsec连接对端本地数据中心侧的标识。', + 'type' => 'string', + 'example' => '116.64.XX.XX', + ], + 'IkeMode' => [ + 'description' => 'IKE阶段协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'main', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。'."\n" + ."\n" + .'- **ikev1**'."\n" + .'- **ikev2**'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。', + 'type' => 'string', + 'example' => 'ikev1', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => 'pgw6dy7****', + ], + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + ], + ], + 'IpsecConfig' => [ + 'description' => '第二阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'VcoHealthCheck' => [ + 'description' => 'IPsec连接的健康检查配置。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '健康检查状态。'."\n" + ."\n" + .'- **success**:正常。'."\n" + .'- **failed**:异常。', + 'type' => 'string', + 'example' => 'success', + ], + 'Dip' => [ + 'description' => '目的IP地址。', + 'type' => 'string', + 'example' => '192.168.0.1', + ], + 'Interval' => [ + 'description' => '健康检查的时间间隔。单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Retry' => [ + 'description' => '健康检查的重试发包次数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Sip' => [ + 'description' => '源IP地址。', + 'type' => 'string', + 'example' => '192.168.0.50', + ], + 'Enable' => [ + 'description' => '健康检查的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'Policy' => [ + 'description' => '健康检查失败时是否撤销已发布的路由。'."\n" + ."\n" + .'- **revoke_route**:撤销路由。'."\n" + .'- **reserve_route**:不撤销路由。', + 'type' => 'string', + 'example' => 'revoke_route', + ], + ], + ], + 'VpnBgpConfig' => [ + 'description' => 'IPsec连接BGP路由协议的配置。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'BGP路由协议的协商状态。'."\n" + ."\n" + .'- **success**:正常。'."\n" + ."\n" + .'- **false**:异常。', + 'type' => 'string', + 'example' => 'success', + ], + 'PeerBgpIp' => [ + 'description' => '对端BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.1', + ], + 'TunnelCidr' => [ + 'description' => 'IPsec连接BGP网段。该网段是一个在169.254.0.0/16内的子网掩码长度为30的网段。', + 'type' => 'string', + 'example' => '169.254.10.0/30', + ], + 'LocalBgpIp' => [ + 'description' => '阿里云侧BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.2', + ], + 'PeerAsn' => [ + 'description' => '对端自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65530', + ], + 'LocalAsn' => [ + 'description' => '阿里云侧自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65531', + ], + 'AuthKey' => [ + 'description' => 'BGP路由协议的认证密钥。', + 'type' => 'string', + 'example' => 'AuthKey****', + ], + ], + ], + 'AttachType' => [ + 'description' => 'IPsec连接绑定的资源类型。'."\n" + ."\n" + .'- **CEN**:表示IPsec连接已绑定云企业网实例下的转发路由器实例。'."\n" + .'- **NO_ASSOCIATED**:表示IPsec连接未绑定任何资源。'."\n" + .'- **VPNGW**:表示IPsec连接绑定了VPN网关实例。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'NetworkType' => [ + 'description' => 'IPsec连接的网络类型。'."\n" + ."\n" + .'- **public**:公网,表示IPsec连接通过公网建立加密通信通道。'."\n" + .'- **private**:私网,表示IPsec连接通过私网建立加密通信通道。', + 'type' => 'string', + 'example' => 'public', + ], + 'AttachInstanceId' => [ + 'description' => '转发路由器实例所属的云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-lxxpbpalc776qz****', + ], + 'Spec' => [ + 'description' => 'IPsec连接的带宽规格。单位:**Mbps**。', + 'type' => 'string', + 'example' => '1000M', + ], + 'State' => [ + 'description' => 'IPsec连接与转发路由器实例的绑定状态。'."\n" + ."\n" + .'- **active**:IPsec连接已与VPN网关实例绑定,状态正常。'."\n" + .'- **init**:IPsec连接未绑定任何资源,IPsec连接初始化。'."\n" + .'- **attaching**:IPsec连接与转发路由器实例绑定中。'."\n" + .'- **attached**:IPsec连接已与转发路由器实例绑定。'."\n" + .'- **detaching**:IPsec连接与转发路由器实例解绑中。'."\n" + .'- **financialLocked**:欠费锁定。'."\n" + .'- **provisioning**:资源准备中。'."\n" + .'- **updating**:更新中。'."\n" + .'- **upgrading**:升级中。'."\n" + .'- **deleted**:已删除。', + 'type' => 'string', + 'example' => 'attached', + ], + 'TransitRouterId' => [ + 'description' => 'IPsec连接绑定的转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-p0we2edef9qr44a85****', + ], + 'TransitRouterName' => [ + 'description' => '转发路由器实例的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'CrossAccountAuthorized' => [ + 'description' => 'IPsec连接是否绑定了跨账号的转发路由器实例。'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'InternetIp' => [ + 'description' => 'IPsec连接的网关IP地址。'."\n" + ."\n" + .'> 仅IPsec连接绑定转发路由器实例时会返回当前参数。', + 'type' => 'string', + 'example' => '10.XX.XX.10', + ], + 'Tag' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'IPsec连接绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + ], + ], + 'TunnelOptionsSpecification' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TunnelOptions' => [ + 'description' => 'IPsec连接的隧道配置信息。'."\n" + ."\n" + .'仅查询双隧道模式的IPsec连接会返回**TunnelOptionsSpecification**数组下的参数。', + 'type' => 'array', + 'items' => [ + 'description' => '隧道的配置信息。', + 'type' => 'object', + 'properties' => [ + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-opsqc4d97wni27****', + ], + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关ID。', + 'type' => 'string', + 'example' => 'cgw-p0wy363lucf1uyae8****', + ], + 'EnableDpd' => [ + 'description' => '隧道是否已开启DPD(对等体存活检测)功能。'."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '隧道是否已开启NAT穿越功能。'."\n" + ."\n" + .'- **false**:未开启。'."\n" + .'- **true**:已开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'InternetIp' => [ + 'description' => '隧道的IP地址。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'RemoteCaCertificate' => [ + 'description' => '隧道对端的CA证书。'."\n" + ."\n" + .'仅VPN网关实例的类型为国密型时才会返回当前参数。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + 'Role' => [ + 'description' => '隧道的角色。'."\n" + ."\n" + .'- **master**:表示当前隧道为主隧道。'."\n" + .'- **slave**:表示当前隧道为备隧道。', + 'type' => 'string', + 'example' => 'master', + ], + 'TunnelIndex' => [ + 'description' => '隧道的创建顺序。'."\n" + .'- **1**:第一条隧道。'."\n" + .'- **2**:第二条隧道。'."\n" + ."\n" + .'> 仅IPsec连接绑定转发路由器时会返回该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'State' => [ + 'description' => '隧道的状态。'."\n" + ."\n" + .'- **active**:状态正常。'."\n" + .'- **updating**:更新中。'."\n" + .'- **deleting**:删除中。', + 'type' => 'string', + 'example' => 'active', + ], + 'Status' => [ + 'description' => 'IPsec连接的状态。'."\n" + ."\n" + .'- **ike_sa_not_established**:第一阶段协商失败。'."\n" + ."\n" + .'- **ike_sa_established**:第一阶段协商成功。'."\n" + ."\n" + .'- **ipsec_sa_not_established**:第二阶段协商失败。'."\n" + ."\n" + .'- **ipsec_sa_established**:第二阶段协商成功。', + 'type' => 'string', + 'example' => 'ipsec_sa_established', + ], + 'TunnelBgpConfig' => [ + 'description' => '隧道的BGP配置信息。', + 'type' => 'object', + 'properties' => [ + 'BgpStatus' => [ + 'description' => 'BGP的协商状态。'."\n" + ."\n" + .'- **success**:正常。'."\n" + .'- **failed**:异常。', + 'type' => 'string', + 'example' => 'success', + ], + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。', + 'type' => 'string', + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.1', + ], + 'PeerAsn' => [ + 'description' => '隧道对端的自治系统号。', + 'type' => 'string', + 'example' => '65531', + ], + 'PeerBgpIp' => [ + 'description' => '隧道对端的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.2', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。', + 'type' => 'string', + 'example' => '169.254.10.0/30', + ], + ], + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'string', + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。', + 'type' => 'string', + 'example' => 'ikev1', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识。', + 'type' => 'string', + 'example' => '47.42.XX.XX', + ], + ], + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'string', + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'ZoneNo' => [ + 'description' => '隧道部署的可用区。', + 'type' => 'string', + 'example' => 'ap-southeast-5a', + ], + ], + ], + ], + ], + ], + 'EnableTunnelsBgp' => [ + 'description' => '隧道BGP的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ResourceGroupId' => [ + 'description' => 'IPsec连接所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + 'TunnelBandwidth' => [ + 'title' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'description' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'type' => 'string', + 'example' => 'Standard', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"238752DC-0693-49BE-9C85-711D5691D3E5\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"VpnConnections\\": {\\n \\"VpnConnection\\": [\\n {\\n \\"Status\\": \\"ipsec_sa_established\\",\\n \\"EnableNatTraversal\\": true,\\n \\"RemoteCaCertificate\\": \\"-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----\\",\\n \\"CreateTime\\": 1492753817000,\\n \\"EffectImmediately\\": true,\\n \\"VpnGatewayId\\": \\"vpn-bp1q8bgx4xnkm****\\",\\n \\"LocalSubnet\\": \\"192.168.0.0/16,172.17.0.0/16\\",\\n \\"VpnConnectionId\\": \\"vco-bp10lz7aejumd****\\",\\n \\"RemoteSubnet\\": \\"10.0.0.0/8,172.16.0.0/16\\",\\n \\"CustomerGatewayId\\": \\"cgw-bp1mvj4g9kogw****\\",\\n \\"Name\\": \\"nametest\\",\\n \\"EnableDpd\\": true,\\n \\"IkeConfig\\": {\\n \\"RemoteId\\": \\"139.17.XX.XX\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"LocalId\\": \\"116.64.XX.XX\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkeVersion\\": \\"ikev1\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"Psk\\": \\"pgw6dy7****\\",\\n \\"IkeAuthAlg\\": \\"sha1\\"\\n },\\n \\"IpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"VcoHealthCheck\\": {\\n \\"Status\\": \\"success\\",\\n \\"Dip\\": \\"192.168.0.1\\",\\n \\"Interval\\": 2,\\n \\"Retry\\": 3,\\n \\"Sip\\": \\"192.168.0.50\\",\\n \\"Enable\\": \\"true\\",\\n \\"Policy\\": \\"revoke_route\\"\\n },\\n \\"VpnBgpConfig\\": {\\n \\"Status\\": \\"success\\",\\n \\"PeerBgpIp\\": \\"169.254.10.1\\",\\n \\"TunnelCidr\\": \\"169.254.10.0/30\\",\\n \\"LocalBgpIp\\": \\"169.254.10.2\\",\\n \\"PeerAsn\\": 65530,\\n \\"LocalAsn\\": 65531,\\n \\"AuthKey\\": \\"AuthKey****\\"\\n },\\n \\"AttachType\\": \\"CEN\\",\\n \\"NetworkType\\": \\"public\\",\\n \\"AttachInstanceId\\": \\"cen-lxxpbpalc776qz****\\",\\n \\"Spec\\": \\"1000M\\",\\n \\"State\\": \\"attached\\",\\n \\"TransitRouterId\\": \\"tr-p0we2edef9qr44a85****\\",\\n \\"TransitRouterName\\": \\"nametest\\",\\n \\"CrossAccountAuthorized\\": false,\\n \\"InternetIp\\": \\"10.XX.XX.10\\",\\n \\"Tag\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ]\\n },\\n \\"TunnelOptionsSpecification\\": {\\n \\"TunnelOptions\\": [\\n {\\n \\"TunnelId\\": \\"tun-opsqc4d97wni27****\\",\\n \\"CustomerGatewayId\\": \\"cgw-p0wy363lucf1uyae8****\\",\\n \\"EnableDpd\\": \\"true\\",\\n \\"EnableNatTraversal\\": \\"true\\",\\n \\"InternetIp\\": \\"47.21.XX.XX\\",\\n \\"RemoteCaCertificate\\": \\"-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----\\",\\n \\"Role\\": \\"master\\",\\n \\"TunnelIndex\\": 1,\\n \\"State\\": \\"active\\",\\n \\"Status\\": \\"ipsec_sa_established\\",\\n \\"TunnelBgpConfig\\": {\\n \\"BgpStatus\\": \\"success\\",\\n \\"LocalAsn\\": \\"65530\\",\\n \\"LocalBgpIp\\": \\"169.254.10.1\\",\\n \\"PeerAsn\\": \\"65531\\",\\n \\"PeerBgpIp\\": \\"169.254.10.2\\",\\n \\"TunnelCidr\\": \\"169.254.10.0/30\\"\\n },\\n \\"TunnelIkeConfig\\": {\\n \\"IkeAuthAlg\\": \\"sha1\\",\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"IkeLifetime\\": \\"86400\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeVersion\\": \\"ikev1\\",\\n \\"LocalId\\": \\"47.21.XX.XX\\",\\n \\"Psk\\": \\"123456****\\",\\n \\"RemoteId\\": \\"47.42.XX.XX\\"\\n },\\n \\"TunnelIpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecLifetime\\": \\"86400\\",\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"ZoneNo\\": \\"ap-southeast-5a\\"\\n }\\n ]\\n },\\n \\"EnableTunnelsBgp\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"TunnelBandwidth\\": \\"Standard\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 238752DC-0693-49BE-9C85-711D5691D3E5\\n 1\\n 2\\n \\n ipsec_sa_established\\n true\\n -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE----- \\n 1492753817000\\n true\\n vpn-bp1q8bgx4xnkm****\\n active\\n 192.168.0.0/16,172.17.0.0/16\\n vco-bp10lz7aejumd****\\n 10.0.0.0/8,172.16.0.0/16\\n cgw-bp1mvj4g9kogw****\\n nametest\\n true\\n \\n 139.17.XX.XX\\n 86400\\n aes\\n 116.64.XX.XX\\n main\\n ikev1\\n group2\\n pgw6dy7****\\n sha1\\n \\n \\n sha1\\n 86400\\n aes\\n group2\\n \\n \\n success\\n 192.168.0.1\\n 2\\n 3\\n 192.168.0.50\\n true\\n \\n \\n success\\n 169.254.10.1\\n 169.254.10.0/30\\n 169.254.10.2\\n 65530\\n 65531\\n AuthKey****\\n \\n \\n TagKey\\n TagValue\\n \\n \\n","errorExample":""}]', + 'title' => '查询已创建的IPsec连接', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DownloadVpnConnectionConfig' => [ + 'summary' => '调用DownloadVpnConnectionConfig接口获取IPsec连接的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPsec连接的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp1bbi27hojx80nck****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0C68048B-0F70-40DA-B8AE-1B79B5CF62E3', + ], + 'VpnConnectionConfig' => [ + 'description' => 'IPsec连接对端网关设备的配置信息。', + 'type' => 'object', + 'properties' => [ + 'Remote' => [ + 'description' => 'VPN网关的标识。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'Local' => [ + 'description' => '用户网关的标识。 ', + 'type' => 'string', + 'example' => '139.196.XX.XX', + ], + 'RemoteSubnet' => [ + 'description' => 'VPC侧的网段。 ', + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'LocalSubnet' => [ + 'description' => '本地IDC侧的网段。 ', + 'type' => 'string', + 'example' => '10.0.0.0/8', + ], + 'IkeConfig' => [ + 'description' => '第一阶段协商的配置信息。', + 'type' => 'object', + 'properties' => [ + 'RemoteId' => [ + 'description' => 'VPN网关的标识。支持FQDN和IP格式,默认为VPN网关的IP地址。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'LocalId' => [ + 'description' => '用户网关的标识。支持FQDN和IP格式,默认为用户网关的IP地址。', + 'type' => 'string', + 'example' => '139.196.XX.XX', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议的版本。', + 'type' => 'string', + 'example' => 'ikev2', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => 'pgw6dy7d1i8i****', + ], + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + ], + ], + 'IpsecConfig' => [ + 'description' => '第二阶段协商的配置信息。 ', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'TunnelsConfig' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TunnelConfig' => [ + 'description' => 'IPsec连接对端网关设备的隧道配置信息。'."\n" + ."\n" + .'仅双隧道模式的IPsec连接会返回**TunnelsConfig**数组下的参数。', + 'type' => 'array', + 'items' => [ + 'description' => '隧道的配置信息。', + 'type' => 'object', + 'properties' => [ + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-opsqc4d97wni27****', + ], + 'Local' => [ + 'description' => '本地IDC侧隧道的标识。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'Remote' => [ + 'description' => '阿里云侧隧道的标识。', + 'type' => 'string', + 'example' => '47.24.XX.XX', + ], + 'IkeConfig' => [ + 'description' => '第一阶段协商的配置信息。 ', + 'type' => 'object', + 'properties' => [ + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => 'pgw6dy7d1i8i****', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议的版本。', + 'type' => 'string', + 'example' => 'ikev2', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'LocalId' => [ + 'description' => '本地IDC侧隧道的标识。', + 'type' => 'string', + 'example' => '47.21.XX.XX', + ], + 'RemoteId' => [ + 'description' => '阿里云侧隧道的标识。', + 'type' => 'string', + 'example' => '47.24.XX.XX', + ], + ], + ], + 'IpsecConfig' => [ + 'description' => '第二阶段协商的配置信息。 ', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + ], + ], + ], + ], + ], + ], + ], + 'BgpConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BgpConfig' => [ + 'description' => 'BGP的配置信息', + 'type' => 'array', + 'items' => [ + 'description' => 'BGP 的配置信息', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '本地IDC自治系统号。', + 'type' => 'string', + 'example' => '1219002', + ], + 'LocalBgpIp' => [ + 'description' => '本地IDC侧的BGP地址。', + 'type' => 'string', + 'example' => '169.254.20.2', + ], + 'PeerAsn' => [ + 'description' => '阿里云侧自治系统号。', + 'type' => 'string', + 'example' => '1219001', + ], + 'PeerBgpIp' => [ + 'description' => '阿里云侧的 BGP 地址。', + 'type' => 'string', + 'example' => '169.254.20.1', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。', + 'type' => 'string', + 'example' => '169.254.20.0/30', + ], + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-900ghtunmhp75r14wh', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C68048B-0F70-40DA-B8AE-1B79B5CF62E3\\",\\n \\"VpnConnectionConfig\\": {\\n \\"Remote\\": \\"116.62.XX.XX\\",\\n \\"Local\\": \\"139.196.XX.XX\\",\\n \\"RemoteSubnet\\": \\"192.168.0.0/16\\",\\n \\"LocalSubnet\\": \\"10.0.0.0/8\\",\\n \\"IkeConfig\\": {\\n \\"RemoteId\\": \\"116.62.XX.XX\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"LocalId\\": \\"139.196.XX.XX\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkeVersion\\": \\"ikev2\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"Psk\\": \\"pgw6dy7d1i8i****\\",\\n \\"IkeAuthAlg\\": \\"sha1\\"\\n },\\n \\"IpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"TunnelsConfig\\": {\\n \\"TunnelConfig\\": [\\n {\\n \\"TunnelId\\": \\"tun-opsqc4d97wni27****\\",\\n \\"Local\\": \\"47.21.XX.XX\\",\\n \\"Remote\\": \\"47.24.XX.XX\\",\\n \\"IkeConfig\\": {\\n \\"Psk\\": \\"pgw6dy7d1i8i****\\",\\n \\"IkeVersion\\": \\"ikev2\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"IkeAuthAlg\\": \\"sha1\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeLifetime\\": 86400,\\n \\"LocalId\\": \\"47.21.XX.XX\\",\\n \\"RemoteId\\": \\"47.24.XX.XX\\"\\n },\\n \\"IpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecPfs\\": \\"group2\\",\\n \\"IpsecLifetime\\": 86400\\n }\\n }\\n ]\\n },\\n \\"BgpConfigs\\": {\\n \\"BgpConfig\\": [\\n {\\n \\"LocalAsn\\": \\"1219002\\",\\n \\"LocalBgpIp\\": \\"169.254.20.2\\",\\n \\"PeerAsn\\": \\"1219001\\",\\n \\"PeerBgpIp\\": \\"169.254.20.1\\",\\n \\"TunnelCidr\\": \\"169.254.20.0/30\\",\\n \\"TunnelId\\": \\"tun-900ghtunmhp75r14wh\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 0C68048B-0F70-40DA-B8AE-1B79B5CF62E3\\n \\n 116.62.XX.XX\\n 139.196.XX.XX\\n 192.168.0.0/16\\n 10.0.0.0/8\\n \\n 139.196.XX.XX\\n 86400\\n aes\\n 116.62.XX.XX\\n main\\n ikev1\\n group2\\n pgw6dy7d1i8i****\\n sha1\\n \\n \\n sha1\\n 86400\\n aes\\n group2\\n \\n \\n","errorExample":""}]', + 'title' => '获取IPsec连接的配置信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVpnConnectionLogs' => [ + 'summary' => '调用DescribeVpnConnections接口查询IPsec连接的日志信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-m5evqnds4y459flt3****', + ], + ], + [ + 'name' => 'From', + 'in' => 'query', + 'schema' => [ + 'description' => '日志起始时间,仅支持传入UNIX秒级时间戳,例如1671003744,1671003744表示的时间为2022年12月14日15:42:24。'."\n" + ."\n" + .'> 如果指定**From**,则必须指定**To**或**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1671003744', + ], + ], + [ + 'name' => 'To', + 'in' => 'query', + 'schema' => [ + 'description' => '日志结束时间,仅支持传入UNIX秒级时间戳,例如1671004344,1671004344表示的时间为2022年12月14日15:52:24。'."\n" + ."\n" + .'> 如果指定**To**,则必须指定**From**或**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1671004344', + ], + ], + [ + 'name' => 'MinutePeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '日志周期。取值范围:**1**~**10**。单位:分钟。'."\n" + ."\n" + .'> 如果不指定**From**和**To**,则必须指定**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + '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' => 'TunnelId', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'IPsec连接的隧道ID。'."\n" + ."\n" + .'仅双隧道模式的IPsec连接支持配置该项。', + 'type' => 'string', + 'required' => false, + 'example' => 'tun-opsqc4d97wni27****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CF161502-4959-5C3B-B499-09B87BA931D9', + ], + 'Count' => [ + 'description' => '当前页下日志的条目数。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'IsCompleted' => [ + 'description' => '查询的日志是否精确。取值:'."\n" + ."\n" + .'- **true**:精确。'."\n" + .'- **false**:不精确。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Logs' => [ + 'description' => '日志信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '字符串数组。'."\n" + ."\n" + .'数组中的每一项都为一条日志。', + 'type' => 'string', + 'example' => '"Logs": [ "2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: isakmp_inf.c:1514:isakmp****", "2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:2832:oak****", "2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:2833:oak****" ]', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QueryVpnConnectionLog.NotFound', + 'errorMessage' => 'the connection log of the vpn connection is not found.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"CF161502-4959-5C3B-B499-09B87BA931D9\\",\\n \\"Count\\": 10,\\n \\"IsCompleted\\": true,\\n \\"Data\\": {\\n \\"Logs\\": [\\n \\"\\\\\\"Logs\\\\\\": [ \\\\\\"2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: isakmp_inf.c:1514:isakmp****\\\\\\", \\\\\\"2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:2832:oak****\\\\\\", \\\\\\"2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:2833:oak****\\\\\\" ]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n CF161502-4959-5C3B-B499-09B87BA931D9\\n 1\\n true\\n \\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: isakmp_inf.c:1514:isakmp_info_send_r_u(): DPD monitoring....\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:2832:oakley_newiv2(): compute IV for phase2\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:2833:oakley_newiv2(): phase1 last IV:\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: algorithm.c:381:alg_oakley_hashdef(): hash(sha1)\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: algorithm.c:524:alg_oakley_encdef(): encryption(aes)\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:2867:oakley_newiv2(): phase2 IV computed:\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:657:oakley_compute_hash1(): HASH with:\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: algorithm.c:464:alg_oakley_hmacdef(): hmac(hmac_sha1)\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:667:oakley_compute_hash1(): HASH computed:\\n 2022-12-14 15:52:28 vco-m5evqnds4y459flt3**** [DEBUG]: oakley.c:3035:oakley_do_encrypt(): begin encryption.\\n \\n 10\\n","errorExample":""}]', + 'title' => '查询IPsec连接的日志', + ], + 'DiagnoseVpnConnections' => [ + 'summary' => '调用DiagnoseVpnConnections接口诊断IPsec连接。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'IPsec连接所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-bp10hz6b0mbp39flt****', + ], + ], + [ + 'name' => 'VpnConnectionIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'IPsec连接ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPsec连接ID。'."\n" + ."\n" + .'> 如果IPsec连接为单隧道模式,该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'vco-bp1spxu8hlcvpd7ry****', + ], + 'required' => false, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'TunnelIds', + 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', + 'schema' => [ + 'description' => '隧道ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '隧道ID。'."\n" + ."\n" + .'> 如果IPsec连接为双隧道模式,该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'tun-64n1sr9dig64k6****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的条目数。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B8094E1E-935B-1397-96A8-4F87A5D1BF29', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VpnConnections' => [ + 'description' => 'IPsec-VPN连接的诊断信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPsec-VPN连接的诊断信息。', + 'type' => 'object', + 'properties' => [ + 'MismatchRemoteParam' => [ + 'description' => '在IPsec连接和对端网关设备配置的参数值不匹配的情况下,本参数表示对端网关设备配置的参数值。', + 'type' => 'string', + 'example' => 'SHA', + ], + 'MismatchLocalParam' => [ + 'description' => '在IPsec连接和对端网关设备配置的参数值不匹配的情况下,本参数表示IPsec连接配置的参数值。', + 'type' => 'string', + 'example' => 'SHA256', + ], + 'VpnConnectionId' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'example' => 'vco-bp1spxu8hlcvpd7ry****', + ], + 'SourceLog' => [ + 'description' => '当前错误相关的日志信息。', + 'type' => 'string', + 'example' => '2023-01-13 11:39:21 vco-bp1spxu8hlcvpd7ry**** [PROTO_ERR]: ikev1.c:1433:isakmp_ph1resend(): phase1 negotiation failed due to time up. [{remote id:4}{ph1: 172.16.0.88[500] <=> 192.168.0.206[500], 172.16.0.88 <=> 192.168.0.206}]', + ], + 'FailedReasonCode' => [ + 'description' => '错误码。', + 'type' => 'string', + 'example' => 'Phase1NegotiationTimeout', + ], + 'FailedTime' => [ + 'description' => 'IPsec-VPN连接发生当前错误的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至IPsec-VPN连接发生当前错误时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1673581161000', + ], + 'FailedReason' => [ + 'description' => '错误原因。', + 'type' => 'string', + 'example' => 'Phase1 negotiation timeout', + ], + 'Severity' => [ + 'description' => '当前错误等级。'."\n" + ."\n" + .'- **Critical**:严重,请尽快排查处理。'."\n" + .'- **Warn**:警告,建议尽快排查处理。'."\n" + .'- **Normal**:正常。', + 'type' => 'string', + 'example' => 'Warn', + ], + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-64n1sr9dig64k6****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The parameter is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B8094E1E-935B-1397-96A8-4F87A5D1BF29\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"VpnConnections\\": [\\n {\\n \\"MismatchRemoteParam\\": \\"SHA\\",\\n \\"MismatchLocalParam\\": \\"SHA256\\",\\n \\"VpnConnectionId\\": \\"vco-bp1spxu8hlcvpd7ry****\\",\\n \\"SourceLog\\": \\"2023-01-13 11:39:21 vco-bp1spxu8hlcvpd7ry**** [PROTO_ERR]: ikev1.c:1433:isakmp_ph1resend(): phase1 negotiation failed due to time up. [{remote id:4}{ph1: 172.16.0.88[500] <=> 192.168.0.206[500], 172.16.0.88 <=> 192.168.0.206}]\\",\\n \\"FailedReasonCode\\": \\"Phase1NegotiationTimeout\\",\\n \\"FailedTime\\": 1673581161000,\\n \\"FailedReason\\": \\"Phase1 negotiation timeout\\",\\n \\"Severity\\": \\"Warn\\",\\n \\"TunnelId\\": \\"tun-64n1sr9dig64k6****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n B8094E1E-935B-1397-96A8-4F87A5D1BF29\\n 50\\n 1\\n \\n \\n Phase1NegotiationTimeout\\n Phase1 negotiation timeout\\n Warn\\n vco-bp1spxu8hlcvpd7ry****\\n 1673581161000\\n \\n 2023-01-13 11:39:21 vco-bp1spxu8hlcvpd7ry**** [PROTO_ERR]: ikev1.c:1433:isakmp_ph1resend(): phase1 negotiation failed due to time up. [{remote id:4}{ph1: 172.16.0.88[500] <=> 192.168.0.206[500], 172.16.0.88 <=> 192.168.0.206}]\\n \\n","errorExample":""}]', + 'title' => '诊断IPsec连接', + 'description' => '- 如果IPsec连接为单隧道模式,调用**DiagnoseVpnConnections**接口时,请求参数`VpnConnectionIds`必填。'."\n" + .'- 如果IPsec连接为双隧道模式,调用**DiagnoseVpnConnections**接口时,请求参数`TunnelIds`必填。'."\n" + .'- 调用**DiagnoseVpnConnections**接口后,如果当前IPsec-VPN连接存在问题,接口会返回对应的错误码(即返回参数**FailedReasonCode**)和日志信息(即返回参数**SourceLog**)。您可以根据错误码和日志信息自主排查问题。排查方法,请参见[IPsec-VPN连接常见错误及排查方法汇总](~~477862~~)。', + ], + 'CreateVpnRouteEntry' => [ + 'summary' => '调用CreateVpnRouteEntry接口为VPN网关实例创建目的路由,创建目的路由后,VPN网关实例将基于流量的目的IP地址匹配目的路由,然后根据流量匹配到的目的路由转发流量。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的权重值。'."\n" + ."\n" + .'在您使用同一个VPN网关实例搭建主备IPsec-VPN连接的场景中,您可以通过配置目的路由的权重值来指定主链路和备链路,权重值为100的目的路由默认为主链路,权重值为0的目的路由默认为备链路。'."\n" + ."\n" + .'您可以通过为IPsec连接配置健康检查来自动探测链路的连通性,在主链路不通的情况下,系统自动将流量切换至备链路进行传输,实现上云链路的高可用。具体操作,请参见[CreateVpnConnection](~~120391~~)。'."\n" + ."\n" + .'- **100**:表示当前目的路由关联的IPsec连接为主链路。'."\n" + .'- **0**:表示当前目的路由关联的IPsec连接为备链路。'."\n" + ."\n" + .'> - 指定主备链路时,主目的路由和备目的路由的目标网段需相同,下一跳需不同,权重值也需不同。'."\n" + .'> - 对于支持双隧道模式IPsec-VPN连接的VPN网关实例,无需配置该参数。一个双隧道模式IPsec-VPN连接包含两条隧道,两条隧道自动形成主备链路,无需再通过配置该参数指定主备链路。如果您配置了该参数,则该参数配置后不生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'PublishVpc', + 'in' => 'query', + 'schema' => [ + 'description' => '是否发布目的路由到VPC中。取值:'."\n" + ."\n" + .'- **true**:发布目的路由到VPC中。系统仅会将路由发布至VPC系统路由表中,而不会发布至VPC自定义路由表中。'."\n" + ."\n" + .' 如果VPC自定义路由表中需要包含该路由,请您手动添加。具体操作,请参见[CreateRouteEntry](~~448722~~)。'."\n" + .'- **false**:不发布目的路由到VPC中。'."\n" + ."\n" + .' 您需要在VPC系统路由表和自定义路由表中手动添加下一跳指向VPN网关实例的目的路由,否则VPC将无法通过IPsec-VPN连接访问该网段下的资源。', + 'type' => 'boolean', + 'required' => true, + 'docRequired' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的描述信息。'."\n" + ."\n" + .'描述信息长度为**1**~**100**个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'mytest', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(IPsec隧道协议)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建路由。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextHop' => [ + 'description' => '目的路由的下一跳。', + 'type' => 'string', + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + 'Weight' => [ + 'description' => '目的路由的权重值。取值:'."\n" + ."\n" + .'- **100**:表示目的路由的优先级较高。'."\n" + .'- **0**:表示目的路由的优先级较低。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'RouteDest' => [ + 'description' => '目的路由的目标网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + 'Description' => [ + 'description' => '目的路由的描述信息。', + 'type' => 'string', + 'example' => 'mytest', + ], + 'State' => [ + 'description' => '目的路由的发布状态。'."\n" + ."\n" + .'- **published**:已发布目的路由到VPC的路由表。'."\n" + ."\n" + .'- **normal**:未发布目的路由到VPC的路由表。', + 'type' => 'string', + 'example' => 'published', + ], + 'CreateTime' => [ + 'description' => '创建目的路由的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建目的路由时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492747187000', + ], + 'OverlayMode' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(IPsec隧道协议)。', + 'type' => 'string', + 'example' => 'Ipsec', + ], + 'VpnInstanceId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnRouteEntry.ConflictSSL', + 'errorMessage' => 'The specified route entry has conflict with SSL client.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + [ + 'errorCode' => 'VpnRouteEntry.InvalidWeight', + 'errorMessage' => 'Invalid route entry weight value.', + ], + [ + 'errorCode' => 'InvalidNextHop.NotFound', + 'errorMessage' => 'The specified NextHop does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.RouteDest', + 'errorMessage' => 'The specified RouteDest is invalid', + ], + [ + 'errorCode' => 'OperationFailed.RouteConflict', + 'errorMessage' => 'Operation failed because there is already a route in VPC route table to another VPN on the same network block.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidCidrBlock', + 'errorMessage' => 'Operation failed because the specified network block is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.VpnRouteEntry', + 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextHop\\": \\"vco-bp15oes1py4i66rmd****\\",\\n \\"Weight\\": 0,\\n \\"RouteDest\\": \\"10.0.0.0/24\\",\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\",\\n \\"Description\\": \\"mytest\\",\\n \\"State\\": \\"published\\",\\n \\"CreateTime\\": 1492747187000,\\n \\"OverlayMode\\": \\"Ipsec\\",\\n \\"VpnInstanceId\\": \\"vpn-bp1a3kqjiiq9legfx****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vco-bp15oes1py4i66rmd****\\n 0\\n 10.0.0.0/24\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n mytest\\n published\\n 1492747187000\\n Ipsec\\n vpn-bp1a3kqjiiq9legfx****\\n","errorExample":""}]', + 'title' => '创建目的路由', + 'description' => '### 前提条件'."\n" + ."\n" + .'- 创建目的路由前,请确保您已经创建了IPsec连接。具体操作,请参见[CreateVpnConnection](~~2526947~~)。'."\n" + .'- 创建目的路由前,建议您先了解目的路由的匹配原则。更多信息,请参见[配置目的路由](~~112476~~)。'."\n" + ."\n" + .'### 使用限制'."\n" + ."\n" + .'- 不支持添加目标网段为0.0.0.0/0的目的路由。'."\n" + .'- 请勿添加目标网段为100.64.0.0/10、100.64.0.0/10下的子网段或者包含100.64.0.0/10网段的目的路由,该类路由条目会导致控制台无法显示IPsec连接的状态或者导致IPsec连接协商失败。'."\n" + .'- **CreateVpnRouteEntry**接口属于异步接口,即系统先返回目的路由配置信息,但该目的路由尚未创建成功,系统后台的创建任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询目的路由的创建状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示目的路由正在创建中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示目的路由创建成功。'."\n" + .'- **CreateVpnRouteEntry**接口不支持在同一VPN网关下并发创建目的路由。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'PublishVpnRouteEntry' => [ + 'summary' => '调用PublishVpnRouteEntry接口将目的路由或策略路由发布到VPC的系统路由表中或将已发布的目的路由或策略路由从VPC系统路由表中撤销。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b382****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关路由条目的下一跳。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + ], + [ + 'name' => 'RouteType', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关路由条目类型。取值:'."\n" + ."\n" + .'- **pbr**:策略路由。'."\n" + ."\n" + .'- **dbr**:目的路由。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pbr', + ], + ], + [ + 'name' => 'PublishVpc', + 'in' => 'query', + 'schema' => [ + 'description' => '发布或撤销路由。取值:'."\n" + ."\n" + .'- **true**:发布。'."\n" + ."\n" + .' 该参数取值为**true**,表示将目的路由或策略路由发布到VPC的系统路由表中。'."\n" + ."\n" + .'- **false**:撤销。'."\n" + ."\n" + .' 该参数取值为**false**,表示将已发布的目的路由或策略路由从VPC系统路由表中撤销。'."\n" + ."\n\n" + .'> 如果策略路由表和目的路由表中存在目标网段相同的路由条目,并且这两条路由条目被发布到同一个VPC中,当您在策略路由表下撤销发布该路由条目时,目的路由表下的该路由条目也会被同时撤销发布。当您在目的路由表下撤销发布该路由条目时,策略路由表下的该路由条目也会被同时撤销发布。', + 'type' => 'boolean', + 'required' => true, + 'docRequired' => true, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'InvalidVpnRouteEntry.NotFound', + 'errorMessage' => 'The specified route entry does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidStatus', + 'errorMessage' => 'Route entry is not allowed to operate in current status.', + ], + [ + 'errorCode' => 'OperationFailed.RouteConflict', + 'errorMessage' => 'Operation failed because there is already a route in VPC route table to another VPN on the same network block.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidCidrBlock', + 'errorMessage' => 'Operation failed because the specified network block is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.VpnRouteEntry', + 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The specified CidrBlock is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Route entry quota exceeded in this route table.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'InvalidCIDRBlock.Duplicate', + 'errorMessage' => 'Specified CIDR block is already exists.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'Current instance status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current virtual switch status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'InvalidNextHopType', + 'errorMessage' => 'Specified parameter "NextHopType" is not valid', + ], + [ + 'errorCode' => 'InvalidNextHop.NotFound', + 'errorMessage' => 'Specified next hop does not exist.', + ], + [ + 'errorCode' => 'InvalidVRouter.NotFound', + 'errorMessage' => 'vRouter not exists.', + ], + [ + 'errorCode' => 'InvalidVPC.NotFound', + 'errorMessage' => 'vpc not exists.', + ], + [ + 'errorCode' => 'InvalidNexthopTypeAndList.BothNull', + 'errorMessage' => 'both nexthopType and nextHopList are null.', + ], + [ + 'errorCode' => 'InvalidNexthopTypeAndList.BothNotNull', + 'errorMessage' => 'both nexthopType and nextHopList are not null.', + ], + [ + 'errorCode' => 'InvalidRouterInterface', + 'errorMessage' => 'invalid router interface.', + ], + [ + 'errorCode' => 'InvalidOppositeRouterType', + 'errorMessage' => 'nexthop list cannot only contain router interface whose opposite router interface is on vbr.', + ], + [ + 'errorCode' => 'InvalidNexthopListSize', + 'errorMessage' => 'nexthop size is illegal. Must be between 2 and 4.', + ], + [ + 'errorCode' => 'InvalidEntryRuleQuota.NotFound', + 'errorMessage' => 'Route entry quota rule not exists.', + ], + [ + 'errorCode' => 'Forbidden.CheckEntryRuleQuota', + 'errorMessage' => 'Route entry quota rule check error.', + ], + [ + 'errorCode' => 'InvalidVBRStatus', + 'errorMessage' => 'invalid virtual border router status.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBusinessStatus', + 'errorMessage' => 'invalid physical connection business status.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', + ], + [ + 'errorCode' => 'CountLimitExceed.HaVipRouteEntry', + 'errorMessage' => 'There can be 5 route entry to HaVip at most in one route table.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.Duplicate', + 'errorMessage' => 'The route entry already exist.', + ], + [ + 'errorCode' => 'INVALID_WEIGHT_PARAM', + 'errorMessage' => 'Specified value of weight invalid', + ], + [ + 'errorCode' => 'FORBIDDEN_USE_VPC_AS_INTERNET_GATEWAY', + 'errorMessage' => 'The Specified CIDR must be in vpc CIDR.', + ], + [ + 'errorCode' => 'INVALID_VPC_ID', + 'errorMessage' => 'The Specified VpcId not match.', + ], + [ + 'errorCode' => 'InvalidRouteEntrySize', + 'errorMessage' => 'The Specified routerEntry size not legal.', + ], + [ + 'errorCode' => 'RouteConflict.AlreadyExist', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'InvalidRouteEntryName.Malformed', + 'errorMessage' => 'Specified RouteEntry name is not valid.', + ], + [ + 'errorCode' => 'Duplicated.VpcNextHop', + 'errorMessage' => 'Route entry nexthop duplicate.', + ], + [ + 'errorCode' => 'InvalidNexthop.DirectEni', + 'errorMessage' => 'The direct Eni cannot be nexthop.', + ], + [ + 'errorCode' => 'InvalidAttachment.NotFound', + 'errorMessage' => 'The attachment is not found.', + ], + [ + 'errorCode' => 'OperationFailed.ActiveNetworkInterfaceNotFound', + 'errorMessage' => 'No active network interface is found on the attachment.', + ], + [ + 'errorCode' => 'InvalidNetworkInterface.NotFound', + 'errorMessage' => 'The network interface is not found on the attachment.', + ], + [ + 'errorCode' => 'OperationFailed.QueryAttachmentInfo', + 'errorMessage' => 'Failed to query attachment information.', + ], + [ + 'errorCode' => 'IllegalParam.AttachmentId', + 'errorMessage' => 'The attachment is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.NotSupportIPV6', + 'errorMessage' => 'The specified next hop does not support IPv6.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6Address', + 'errorMessage' => 'The IPv6 address of the specified next hop is being assigned or deleted.', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface', + 'errorMessage' => 'You cannot create IPv6 route entries on a primary network interface.', + ], + [ + 'errorCode' => 'OperationUnsupported.SpecifyIpOnIpv6Entry', + 'errorMessage' => 'You cannot specify the private IP address when you create IPv6 route entries.', + ], + [ + 'errorCode' => 'OperationUnsupported.MutipleIpv6Address', + 'errorMessage' => 'You cannot specify a next hop that has bound multiple IPv6 addresses.', + ], + [ + 'errorCode' => 'OperationDenied.Ipv6EntryOnCustomTable', + 'errorMessage' => 'You cannot create any IPv6 route entry on a custom route table.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\t\\n","errorExample":""}]', + 'title' => '发布或者撤销VPN路由', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVpnRouteEntry' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou ', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b ', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的目标网段。'."\n" + ."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24 ', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的权重值,取值:'."\n" + ."\n" + .'- **0**:低优先级。'."\n" + ."\n" + .'- **100**:高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议,取值:**Ipsec**(IPsec隧道协议)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Configuring', + 'errorMessage' => 'The specified route entry is configuring.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.NotFound', + 'errorMessage' => 'The specified route entry does not exist.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\r\\n","errorExample":""}]', + 'title' => '删除VPN目的路由', + 'summary' => '调用DeleteVpnRouteEntry接口删除VPN目的路由。', + 'description' => '- **DeleteVpnRouteEntry**接口属于异步接口,即系统先返回一个请求ID,但该VPN目的路由尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询VPN网关实例状态,来确定VPN目的路由的删除状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示VPN目的路由正在删除中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示VPN目的路由删除成功。'."\n" + .'- **DeleteVpnRouteEntry**接口不支持在同一VPN网关下并发删除VPN目的路由。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVpnRouteEntryWeight' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所属地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp15oes1py4i66rmd**** ', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由在修改之前设置的权重值,取值:'."\n" + ."\n" + .'- **0**:低优先级。'."\n" + ."\n" + .'- **100**:高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'NewWeight', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由新的权重值,取值:'."\n" + ."\n" + .'- **0**:低优先级。'."\n" + ."\n" + .'- **100**:高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '100', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议,取值:**Ipsec**(IPsec隧道协议)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\r\\n","errorExample":""}]', + 'title' => '修改目的路由的权重值', + 'summary' => '调用ModifyVpnRouteEntryWeight接口修改目的路由的权重值。', + 'description' => '> 本接口仅适用于支持单隧道模式IPsec-VPN连接的VPN网关实例。对于支持双隧道模式IPsec-VPN连接的VPN网关实例,调用本接口成功修改权重值后,权重值也不会生效。'."\n" + .'- 在VPN网关实例下存在主备目的路由场景下,如果您需要修改主目的路由的权重值,需先将备目的路由删除,待主目的路由修改完成后,再重新配置备目的路由。如果您需要修改备目的路由的权重值,也需先删除主目的路由,待备目的路由修改完成后再重新配置主目的路由。删除目的路由,请参见[DeleteVpnRouteEntry](~~2526961~~)。'."\n" + .'- **ModifyVpnRouteEntryWeight**接口属于异步接口,即系统先返回一个请求ID,但该VPN目的路由的权重值尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)查询VPN目的路由的权重值的修改状态:'."\n" + .' - 当VPN目的路由处于**updating**状态时,表示VPN目的路由的权重值正在修改中。'."\n" + .' - 当VPN目的路由处于**active**状态时,表示VPN目的路由的权重值修改成功。'."\n" + .'- **ModifyVpnRouteEntryWeight**接口不支持在同一VPN网关下并发修改目的路由的权重值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVpnRouteEntries' => [ + 'summary' => '调用DescribeVpnRouteEntries接口查询VPN网关实例的目的路由条目信息和BGP路由条目信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1cmw7jh1nfe43m9****', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RouteEntryType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目的类型。取值:'."\n" + ."\n" + .'- **custom**(默认值):表示查询VPN网关实例的目的路由。'."\n" + .'- **bgp**:表示查询VPN网关实例的BGP路由。', + 'type' => 'string', + 'required' => false, + 'example' => 'custom', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'BF3995A6-FA4F-4C74-B90F-89ECF4BFF4D5', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VpnRouteEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VpnRouteEntry' => [ + 'description' => '路由条目信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目详细信息。', + 'type' => 'object', + 'properties' => [ + 'RouteEntryType' => [ + 'description' => '路由条目的类型。'."\n" + ."\n" + .'- **custom**:表示VPN网关实例的目的路由。'."\n" + .'- **bgp**:表示VPN网关实例的BGP路由。', + 'type' => 'string', + 'example' => 'custom', + ], + 'NextHop' => [ + 'description' => '路由条目的下一跳。', + 'type' => 'string', + 'example' => 'vco-bp1tui07ob10fmuro****', + ], + 'Weight' => [ + 'description' => '目的路由的权重值。'."\n" + ."\n" + .'- 对于支持IPsec-VPN连接双隧道模式的VPN网关实例,目的路由的权重值默认为**100**,且无实际意义。'."\n" + .'- 对于支持IPsec-VPN连接单隧道模式的VPN网关实例,目的路由权重值代表目的路由的优先级:'."\n" + .' - **100**:表示高优先级。存在目标网段相同的多条目的路由时,该目的路由关联的IPsec连接为主链路。'."\n" + .' - **0**:表示低优先级。存在目标网段相同的多条目的路由时,该目的路由关联的IPsec连接为备链路。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'RouteDest' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'AsPath' => [ + 'description' => '路由条目经过的AS路径。', + 'type' => 'string', + 'example' => '65501,65001,60011', + ], + 'State' => [ + 'description' => '路由条目的状态。取值:'."\n" + ."\n" + .'- **published**:已发布。'."\n" + .'- **normal**:未发布。', + 'type' => 'string', + 'example' => 'normal', + ], + 'CreateTime' => [ + 'description' => '创建路由条目的时间戳。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建路由条目时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1563874074000', + ], + 'Community' => [ + 'description' => '路由条目的Community属性值。', + 'type' => 'string', + 'example' => '65001:1000,65501:2000', + ], + 'Source' => [ + 'description' => 'BGP路由条目的来源。'."\n" + ."\n" + .'- **CLOUD**:表示当前路由是通过VPN网关关联的阿里云产品传播过来的。'."\n" + .'- **VPN_BGP**:表示当前路由是通过VPN网关BGP路由协议学习到的,例如通过BGP路由协议学习本地数据中心的路由。', + 'type' => 'string', + 'example' => 'CLOUD', + ], + 'VpnInstanceId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1cmw7jh1nfe43m9****', + ], + 'NextHopTunnelId' => [ + 'description' => '路由条目下一跳关联的隧道ID。'."\n" + ."\n" + .'> 仅支持双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => 'tun-36cfgpwjn58axj****', + ], + ], + ], + ], + ], + ], + 'VpnRouteCounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VpnRouteCount' => [ + 'description' => '双隧道模式VPN网关实例的路由条目统计信息。'."\n" + ."\n" + .'> 仅支持双隧道模式IPsec-VPN连接的VPN网关实例会返回该组信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目的统计信息。', + 'type' => 'object', + 'properties' => [ + 'RouteEntryType' => [ + 'description' => '路由条目类型。'."\n" + ."\n" + .'- **custom**:目的路由条目。'."\n" + .'- **bgp**:BGP路由条目。', + 'type' => 'string', + 'example' => 'bgp', + ], + 'RouteCount' => [ + 'description' => '路由条目数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Source' => [ + 'description' => 'BGP路由条目的来源。'."\n" + ."\n" + .'- **CLOUD**:表示当前路由是通过VPN网关关联的阿里云产品传播过来的。'."\n" + .'- **VPN_BGP**:表示当前路由是通过VPN网关BGP路由协议学习到的,例如通过BGP路由协议学习本地数据中心的路由。', + 'type' => 'string', + 'example' => 'VPN_BGP', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.RouteEntryType', + 'errorMessage' => 'The specified "RouteEntryType" is invalid.', + ], + [ + 'errorCode' => 'InvalidVpnInstanceId.NotFound', + 'errorMessage' => 'The specified VPN was not found.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"BF3995A6-FA4F-4C74-B90F-89ECF4BFF4D5\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"VpnRouteEntries\\": {\\n \\"VpnRouteEntry\\": [\\n {\\n \\"RouteEntryType\\": \\"custom\\",\\n \\"NextHop\\": \\"vco-bp1tui07ob10fmuro****\\",\\n \\"Weight\\": 100,\\n \\"RouteDest\\": \\"10.0.0.0/24\\",\\n \\"AsPath\\": \\"65501,65001,60011\\",\\n \\"State\\": \\"normal\\",\\n \\"CreateTime\\": 1563874074000,\\n \\"Community\\": \\"65001:1000,65501:2000\\",\\n \\"Source\\": \\"CLOUD\\",\\n \\"VpnInstanceId\\": \\"vpn-bp1cmw7jh1nfe43m9****\\",\\n \\"NextHopTunnelId\\": \\"tun-36cfgpwjn58axj****\\"\\n }\\n ]\\n },\\n \\"VpnRouteCounts\\": {\\n \\"VpnRouteCount\\": [\\n {\\n \\"RouteEntryType\\": \\"bgp\\",\\n \\"RouteCount\\": 3,\\n \\"Source\\": \\"VPN_BGP\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n BF3995A6-FA4F-4C74-B90F-89ECF4BFF4D5\\n 1\\n 1\\n \\n custom\\n vco-bp1tui07ob10fmuro****\\n 100\\n 10.0.0.0/24\\n normal\\n 1563874074000\\n vpn-bp1cmw7jh1nfe43m9****\\n tun-36cfgpwjn58axj****\\n \\n","errorExample":""}]', + 'title' => '查询目的路由和BGP路由', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateVpnPbrRouteEntry' => [ + 'summary' => '调用CreateVpnPbrRouteEntry接口创建VPN策略路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteSource', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的源网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.1.0/24', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的权重值。'."\n" + ."\n" + .'在您使用同一个VPN网关实例搭建主备IPsec-VPN连接的场景中,您可以通过配置策略路由的权重值来指定主链路和备链路,权重值为100的策略路由默认为主链路,权重值为0的策略路由默认为备链路。'."\n" + ."\n" + .'您可以通过为IPsec连接配置健康检查来自动探测链路的连通性,在主链路不通的情况下,系统自动将流量切换至备链路进行传输,实现上云链路的高可用。具体操作,请参见[CreateVpnConnection](~~120391~~)。'."\n" + ."\n" + .'- **100**:表示当前策略路由关联的IPsec连接为主链路。'."\n" + .'- **0**:表示当前策略路由关联的IPsec连接为备链路。'."\n" + ."\n" + .'> - 在您指定主备链路时,主策略路由和备策略路由的源网段和目标网段需相同。'."\n" + .'> - 对于支持双隧道模式IPsec-VPN连接的VPN网关实例,无需配置该参数。一个双隧道模式IPsec-VPN连接包含两条隧道,两条隧道自动形成主备链路,无需再通过配置该参数指定主备链路。如果您配置了该参数,则该参数配置后不生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'PublishVpc', + 'in' => 'query', + 'schema' => [ + 'description' => '是否发布策略路由到VPC中。取值:'."\n" + ."\n" + .'- **true**:发布策略路由到VPC中,系统仅会将路由发布至VPC系统路由表中,而不会发布至VPC自定义路由表中。'."\n" + ."\n" + .' 如果VPC自定义路由表中需要包含该路由,请您手动添加。具体操作,请参见[CreateRouteEntry](~~448722~~)。'."\n" + ."\n" + .'- **false**:不发布策略路由到VPC的路由表。'."\n" + ."\n" + .' 您需要在VPC系统路由表和自定义路由表中手动添加下一跳指向VPN网关实例的策略路由,否则VPC将无法通过IPsec-VPN连接访问该网段下的资源。', + 'type' => 'boolean', + 'required' => true, + 'docRequired' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的描述信息。'."\n" + ."\n" + .'描述信息长度为1~100个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(IPsec隧道协议)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的策略优先级。取值范围:**1**~**100**。默认值:**10**。'."\n" + ."\n" + .'策略优先级数字越小,策略路由的优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建路由。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'NextHop' => [ + 'description' => '策略路由的下一跳。', + 'type' => 'string', + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + 'Weight' => [ + 'description' => '策略路由的权重值。'."\n" + ."\n" + .'- **100**:表示当前策略路由关联的IPsec连接为主链路。'."\n" + .'- **0**:表示当前策略路由关联的IPsec连接为备链路。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'RouteDest' => [ + 'description' => '策略路由的目标网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + 'Description' => [ + 'description' => '策略路由的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'State' => [ + 'description' => '策略路由的发布状态。'."\n" + ."\n" + .'- **published**:已发布策略路由到VPC的路由表。'."\n" + ."\n" + .'- **normal**:未发布策略路由到VPC的路由表。', + 'type' => 'string', + 'example' => 'normal', + ], + 'CreateTime' => [ + 'description' => '创建策略路由的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建策略路由时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492747187000', + ], + 'OverlayMode' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(IPsec隧道协议)。', + 'type' => 'string', + 'example' => 'Ipsec', + ], + 'RouteSource' => [ + 'description' => '策略路由的源网段。', + 'type' => 'string', + 'example' => '192.168.1.0/24', + ], + 'VpnInstanceId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1cmw7jh1nfe43m9****', + ], + 'Priority' => [ + 'description' => '策略路由的策略优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnRouteEntry.ConflictSSL', + 'errorMessage' => 'The specified route entry has conflict with SSL client.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + [ + 'errorCode' => 'VpnRouteEntry.InvalidWeight', + 'errorMessage' => 'Invalid route entry weight value.', + ], + [ + 'errorCode' => 'InvalidNextHop.NotFound', + 'errorMessage' => 'The specified NextHop does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.RouteDest', + 'errorMessage' => 'The specified RouteDest is invalid', + ], + [ + 'errorCode' => 'OperationFailed.RouteConflict', + 'errorMessage' => 'Operation failed because there is already a route in VPC route table to another VPN on the same network block.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidCidrBlock', + 'errorMessage' => 'Operation failed because the specified network block is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.VpnRouteEntry', + 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntryPriority.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support setting custom pbr route entry priority.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', + 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', + ], + [ + 'errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of policy routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntry.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 1000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextHop\\": \\"vco-bp15oes1py4i66rmd****\\",\\n \\"Weight\\": 0,\\n \\"RouteDest\\": \\"10.0.0.0/24\\",\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\",\\n \\"Description\\": \\"desctest\\",\\n \\"State\\": \\"normal\\",\\n \\"CreateTime\\": 1492747187000,\\n \\"OverlayMode\\": \\"Ipsec\\",\\n \\"RouteSource\\": \\"192.168.1.0/24\\",\\n \\"VpnInstanceId\\": \\"vpn-bp1cmw7jh1nfe43m9****\\",\\n \\"Priority\\": 10\\n}","errorExample":""},{"type":"xml","example":"\\n vco-bp15oes1py4i66rmd****\\n 0\\n 10.0.0.0/24\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n desctest\\n normal\\n 1492747187000\\n Ipsec\\n 192.168.1.0/24\\n vpn-bp1cmw7jh1nfe43m9****\\n 10\\n","errorExample":""}]', + 'title' => '创建VPN策略路由', + 'description' => '### 前提条件'."\n" + .'- 创建策略路由前,请确保您已经创建了IPsec连接。具体操作,请参见[CreateVpnConnection](~~120391~~)。'."\n" + .'- 创建策略路由前,建议您先了解策略路由的使用限制、匹配规则等信息。更多信息,请参见[使用策略路由](~~110777~~)。'."\n" + ."\n" + .'### 使用限制'."\n" + .'- 不支持添加目标网段为0.0.0.0/0的策略路由。'."\n" + .'- 请勿添加目标网段为100.64.0.0/10、100.64.0.0/10下的子网段或者包含100.64.0.0/10网段的策略路由,该类策略路由会导致控制台无法显示IPsec连接的状态或者导致IPsec连接协商失败。'."\n" + .'- **CreateVpnPbrRouteEntry**接口属于异步接口,即系统先返回策略路由的信息,但该策略路由尚未创建成功,系统后台的创建任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)接口查询VPN网关实例状态,来确定策略路由的创建状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示策略路由正在创建中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示策略路由创建成功。'."\n" + .'- **CreateVpnPbrRouteEntry**接口不支持在同一个VPN网关实例下并发创建策略路由。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVpnPbrRouteEntry' => [ + 'summary' => '调用DeleteVpnPbrRouteEntry接口删除策略路由。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteSource', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的源网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.1.0/24', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的权重值。'."\n" + ."\n" + .'您可以调用[DescribeVpnPbrRouteEntries](~~2526959~~)接口查询策略路由的权重值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(IPsec隧道协议)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的策略优先级。'."\n" + ."\n" + .'- 如果您的策略路由之前不存在策略优先级,本参数可不填。'."\n" + .'- 如果您的策略路由之前存在策略优先级,本参数可填,也可不填。'."\n" + ."\n" + .' 如果您填写了本参数,请填写策略路由之前已配置的策略优先级,如果您填写为其他值,则当前接口会调用失败。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Configuring', + 'errorMessage' => 'The specified route entry is configuring.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.NotFound', + 'errorMessage' => 'The specified route entry does not exist.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntry.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n","errorExample":""}]', + 'title' => '删除策略路由', + 'description' => '- **DeleteVpnPbrRouteEntry**接口属于异步接口,即系统先返回一个请求ID,但该策略路由尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)接口查询VPN网关实例状态,来确定策略路由的删除状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示策略路由正在删除中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示策略路由删除成功。'."\n" + .'- **DeleteVpnPbrRouteEntry**接口不支持在同一VPN网关实例下并发删除策略路由。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVpnPbrRouteEntryWeight' => [ + 'summary' => '调用ModifyVpnPbrRouteEntryWeight接口修改VPN策略路由的权重值。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteSource', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的源网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.1.0/24', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vco-bp15oes1py4i66rmd**** ', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由原始的权重值。取值:'."\n" + ."\n" + .'- **100**:表示当前策略路由关联的IPsec连接为主链路。'."\n" + .'- **0**:表示当前策略路由关联的IPsec连接为备链路。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'NewWeight', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由新的权重值。取值:'."\n" + ."\n" + .'- **100**:表示当前策略路由关联的IPsec连接为主链路。'."\n" + .'- **0**:表示当前策略路由关联的IPsec连接为备链路。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '100', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(IPsec隧道协议)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的策略优先级。'."\n" + ."\n" + .'- 如果您的策略路由之前不存在策略优先级,本参数可不填。'."\n" + .'- 如果您的策略路由之前存在策略优先级,本参数可填,也可不填。'."\n" + .' '."\n" + .' 如果您填写了本参数,请填写策略路由之前已配置的策略优先级,如果您填写为其他值,则当前接口会调用失败。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', + 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntry.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\t\\n","errorExample":""}]', + 'title' => '修改VPN策略路由的权重值', + 'description' => '> 本接口仅适用于支持单隧道模式IPsec-VPN连接的VPN网关实例。对于支持双隧道模式IPsec-VPN连接的VPN网关实例,调用本接口成功修改权重值后,权重值也不会生效。'."\n" + ."\n" + .'- 在VPN网关实例下存在主备策略路由场景下,如果您需要修改主策略路由的权重值,需先将备策略路由删除,待主策略路由修改完成后,再重新配置备策略路由。如果您需要修改备策略路由的权重值,也需先删除主策略路由,待备策略路由修改完成后再重新配置主策略路由。删除策略路由,请参见[DeleteVpnPbrRouteEntry](~~2526956~~)。'."\n" + .'- **ModifyVpnPbrRouteEntryWeight**接口属于异步接口,即系统先返回一个请求ID,但该策略路由尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)接口查询VPN网关实例状态,来确定策略路由的修改状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示策略路由正在修改中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示策略路由修改成功。'."\n" + .'- **ModifyVpnPbrRouteEntryWeight**接口不支持在同一VPN网关实例下并发修改策略路由。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyVpnPbrRouteEntryPriority' => [ + 'summary' => '调用ModifyVpnPbrRouteEntryPriority接口修改策略路由的策略优先级。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-henyuan', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteSource', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的源网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.1.0/24', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由原始的策略优先级。取值范围:**1**~**100**。'."\n" + ."\n" + .'策略优先级数字越小,策略路由的优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'NewPriority', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由新的策略优先级。取值范围:**1**~**100**。'."\n" + ."\n" + .'策略优先级数字越小,策略路由的优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '10', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的权重值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntryPriority.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support setting pbr route entry priority.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', + 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntry.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 60, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n","errorExample":""}]', + 'title' => '修改策略路由的策略优先级', + 'description' => '- **ModifyVpnPbrRouteEntryPriority**接口属于异步接口,即系统先返回一个请求ID,但该策略路由尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)接口查询VPN网关实例状态,来确定策略路由的修改状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示策略路由正在修改中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示策略路由修改成功。'."\n" + .'- **ModifyVpnPbrRouteEntryPriority**接口不支持在同一VPN网关实例下并发修改策略路由。', + ], + 'ModifyVpnPbrRouteEntryAttribute' => [ + 'summary' => '调用ModifyVpnPbrRouteEntryAttribute接口修改策略路由的权重值和策略优先级。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-heyuan', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + 'name' => 'RouteSource', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的源网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.1.0/24', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由的下一跳。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由原始的策略优先级。取值范围:**1**~**100**。'."\n" + ."\n" + .'策略优先级数字越小,策略路由的优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '5', + ], + ], + [ + 'name' => 'NewPriority', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由新的策略优先级。取值范围:**1**~**100**。'."\n" + ."\n" + .'策略优先级数字越小,策略路由的优先级越高。'."\n" + ."\n" + .'如果您不输入当前参数,表示不修改策略路由的策略优先级。'."\n" + ."\n" + .'> **NewPriority**和**NewWeight**参数需至少输入一个。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由原始的权重值。取值:'."\n" + ."\n" + .'- **100**:表示当前策略路由关联的IPsec连接为主链路。'."\n" + .'- **0**:表示当前策略路由关联的IPsec连接为备链路。'."\n" + ."\n\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '100', + ], + ], + [ + 'name' => 'NewWeight', + 'in' => 'query', + 'schema' => [ + 'description' => '策略路由新的权重值。取值:'."\n" + ."\n" + .'- **100**:表示当前策略路由关联的IPsec连接为主链路。'."\n" + .'- **0**:表示当前策略路由关联的IPsec连接为备链路。'."\n" + ."\n" + .'如果您不输入当前参数,表示不修改策略路由的权重值。'."\n" + .'> **NewPriority**和**NewWeight**参数需至少输入一个。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntryPriority.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support setting pbr route entry priority.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', + 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', + ], + [ + 'errorCode' => 'VpnRouteEntry.SrcDestConflict', + 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', + ], + [ + 'errorCode' => 'VpnPbrRouteEntry.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n","errorExample":""}]', + 'title' => '修改策略路由的权重值和策略优先级', + 'description' => '- **ModifyVpnPbrRouteEntryAttribute**接口适用于为支持策略优先级的策略路由一并修改权重值和策略优先级。'."\n" + ."\n" + .' - 如果您仅需要为策略路由修改权重值,您可以调用[ModifyVpnPbrRouteEntryWeight](~~127249~~)接口。'."\n" + .' - 如果您仅需要为策略路由修改策略优先级,您可以调用[ModifyVpnPbrRouteEntryPriority](~~466870~~)接口。'."\n" + .' - 如果您的策略路由不支持策略优先级,则您仅可以调用[ModifyVpnPbrRouteEntryWeight](~~127249~~)接口修改策略路由的权重值。'."\n" + .' > 对于支持双隧道模式IPsec-VPN连接的VPN网关实例,仅支持调用本接口修改策略路由的优先级。'."\n" + ."\n" + .'- **ModifyVpnPbrRouteEntryAttribute**接口属于异步接口,即系统先返回一个请求ID,但该策略路由尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~73720~~)接口查询VPN网关实例状态,来确定策略路由的修改状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示策略路由正在修改中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示策略路由修改成功。'."\n" + .'- **ModifyVpnPbrRouteEntryAttribute**接口不支持在同一VPN网关实例下并发修改策略路由。', + ], + 'DescribeVpnPbrRouteEntries' => [ + 'summary' => '调用DescribeVpnPbrRouteEntries接口查询VPN网关实例下配置的策略路由的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VpnPbrRouteEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VpnPbrRouteEntry' => [ + 'description' => '策略路由信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '策略路由的信息。', + 'type' => 'object', + 'properties' => [ + 'NextHop' => [ + 'description' => '策略路由的下一跳。', + 'type' => 'string', + 'example' => 'vco-bp15oes1py4i66rmd****', + ], + 'Weight' => [ + 'description' => '策略路由的权重值。'."\n" + ."\n" + .'对于支持IPsec-VPN连接单隧道模式的VPN网关实例,策略路由权重值代表策略路由的优先级:'."\n" + ."\n" + .' - **100**:表示高优先级。存在源网段、目标网段均相同的多条策略路由时,该策略路由关联的IPsec连接为主链路。'."\n" + .' - **0**:表示低优先级。存在源网段、目标网段均相同的多条策略路由时,该策略路由关联的IPsec连接为备链路。'."\n" + ."\n" + .'> 对于支持IPsec-VPN连接双隧道模式的VPN网关实例,当前参数不生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'RouteDest' => [ + 'description' => '策略路由的目标网段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'State' => [ + 'description' => '策略路由的发布状态。'."\n" + ."\n" + .'- **published**:已发布策略路由到VPC的路由表。'."\n" + ."\n" + .'- **normal**:未发布策略路由到VPC的路由表。', + 'type' => 'string', + 'example' => 'published', + ], + 'CreateTime' => [ + 'description' => '创建策略路由的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建策略路由时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492747187000', + ], + 'VpnInstanceId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1a3kqjiiq9legfx****', + ], + 'RouteSource' => [ + 'description' => '策略路由的源网段。', + 'type' => 'string', + 'example' => '192.168.0.0/24', + ], + 'Priority' => [ + 'description' => '策略路由的策略优先级。'."\n" + ."\n" + .'策略优先级数字越小,策略路由的优先级越高。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextHopTunnelId' => [ + 'description' => '策略路由下一跳关联的隧道ID。'."\n" + ."\n" + .'仅支持双隧道模式IPsec-VPN连接的VPN网关实例会返回当前参数。', + 'type' => 'string', + 'example' => 'tun-opsqc4d97wni2****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVpnInstanceId.NotFound', + 'errorMessage' => 'The specified VPN was not found.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"VpnPbrRouteEntries\\": {\\n \\"VpnPbrRouteEntry\\": [\\n {\\n \\"NextHop\\": \\"vco-bp15oes1py4i66rmd****\\",\\n \\"Weight\\": 100,\\n \\"RouteDest\\": \\"10.0.0.0/24\\",\\n \\"State\\": \\"published\\",\\n \\"CreateTime\\": 1492747187000,\\n \\"VpnInstanceId\\": \\"vpn-bp1a3kqjiiq9legfx****\\",\\n \\"RouteSource\\": \\"192.168.0.0/24\\",\\n \\"Priority\\": 10,\\n \\"NextHopTunnelId\\": \\"tun-opsqc4d97wni2****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n 1\\n 1\\n \\n vco-bp15oes1py4i66rmd****\\n 100\\n 10.0.0.0/24\\n published\\n 1492747187000\\n vpn-bp1a3kqjiiq9legfx****\\n 192.168.0.0/24\\n 10\\n tun-opsqc4d97wni2****\\n \\n","errorExample":""}]', + 'title' => '查询策略路由', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateVpnAttachment' => [ + 'summary' => '调用CreateVpnAttachment接口创建IPsec连接,用于绑定转发路由器实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的名称。'."\n" + ."\n" + .'名称长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '用户网关ID。'."\n" + ."\n" + .'> 仅创建单隧道模式IPsec-VPN连接时需配置本参数,且本参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'title' => 'public/private', + 'description' => 'IPsec连接的网络类型。取值:'."\n" + .'- **public**(默认值):公网,表示IPsec连接通过公网建立加密通信通道。'."\n" + .'- **private**:私网,表示IPsec连接通过私网建立加密通信通道。', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'title' => '路由模式为感兴趣流模式时,设置本端ip和对端ip', + 'description' => '需要和本地数据中心互通的VPC侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => true, + 'example' => '10.1.1.0/24,10.1.2.0/24', + ], + ], + [ + 'name' => 'RemoteSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和VPC互通的本地数据中心侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => true, + 'example' => '10.1.3.0/24,10.1.4.0/24', + ], + ], + [ + 'name' => 'EffectImmediately', + 'in' => 'query', + 'schema' => [ + 'title' => '立即生效', + 'description' => '选择IPsec连接的配置是否立即生效。 取值:'."\n" + ."\n" + .'- **true**:是,配置完成后系统立即进行IPsec协议协商。'."\n" + .'- **false**(默认值):否,当有流量进入时系统才进行IPsec协议协商。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IkeConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第一阶段协商的配置信息:'."\n" + .' '."\n" + .'- **IkeConfig.Psk**:预共享密钥,用于VPN网关与本地数据中心之间的身份认证。'."\n" + ."\n" + .' - 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + .' - 若您未指定预共享密钥,系统会随机生成一个字符串作为预共享密钥。您可以调用[DescribeVpnConnection](~~2526951~~)接口查询系统自动生成的预共享密钥。'."\n" + ."\n" + .' > IPsec连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和VPN网关之间无法建立连接。'."\n" + ."\n" + .'- **IkeConfig.IkeVersion**:IKE协议的版本。取值:**ikev1**或**ikev2**。默认值:**ikev1**。 '."\n" + ."\n" + .'- **IkeConfig.IkeMode**:协商模式。取值:**main**或**aggressive**。默认值:**main**。 '."\n" + ."\n" + .'- **IkeConfig.IkeEncAlg**:第一阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。 '."\n" + ."\n" + .'- **IkeConfig.IkeAuthAlg**:第一阶段协商的认证算法。取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。 '."\n" + ."\n" + .'- **IkeConfig.IkePfs**:第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:**group1**、**group2**、**group5**或**group14**。默认值:**group2**。 '."\n" + ."\n" + .'- **IkeConfig.IkeLifetime**:第一阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。默认值:**86400**。 '."\n" + ."\n" + .'- **IkeConfig.LocalId**:IPsec连接阿里云侧的标识,长度限制为100个字符,不能包含空格。默认值为空。'."\n" + ."\n" + .'- **IkeConfig.RemoteId**:IPsec连接本地数据中心侧的标识,长度限制为100个字符,不能包含空格。默认值为用户网关的IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '{"Psk":"1234****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"47.XX.XX.1","RemoteId":"47.XX.XX.2"}', + ], + ], + [ + 'name' => 'IpsecConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第二阶段协商的配置信息: '."\n" + ."\n" + .'- **IpsecConfig.IpsecEncAlg**:第二阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。 '."\n" + ."\n" + .'- **IpsecConfig. IpsecAuthAlg**:第二阶段协商的认证算法。取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**md5**。 '."\n" + ."\n" + .'- **IpsecConfig. IpsecPfs**:第二阶段协商使用的Diffie-Hellman密钥交换算法。取值:**disabled**、**group1**、**group2**、**group5**或**group14**。默认值:**group2**。 '."\n" + ."\n" + .'- **IpsecConfig. IpsecLifetime**:第二阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。默认值:**86400**。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', + ], + ], + [ + 'name' => 'BgpConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'BGP的配置信息:'."\n" + ."\n" + .'- **BgpConfig.EnableBgp**:是否开启BGP功能。取值:**true**或**false**(默认值)。'."\n" + ."\n" + .'- **BgpConfig.LocalAsn**:阿里云侧的自治系统号。自治系统号取值范围:**1**~**4294967295**。默认值:**45104**。'."\n" + ."\n" + .' 支持按照两段位的格式进行输入,即:前16位比特.后16位比特。每个段位使用十进制输入。'."\n" + ."\n" + .' 例如输入123.456,则表示自治系统号:123*65536+456=8061384。'."\n" + ."\n" + .'- **BgpConfig.TunnelCidr**:IPsec隧道网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + ."\n" + .'- **LocalBgpIp**:阿里云侧的BGP地址。该地址为IPsec隧道网段内的一个IP地址。 '."\n" + ."\n" + .'> - 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由'."\n" + .'](~~445767~~)。'."\n" + .'> - 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'string', + 'required' => false, + 'example' => '{"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', + ], + ], + [ + 'name' => 'HealthCheckConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'健康检查配置信息:'."\n" + ."\n" + .'- **HealthCheckConfig.enable**:是否开启健康检查,取值:**true**或**false**(默认值)。'."\n" + ."\n" + .'- **HealthCheckConfig.dip**:健康检查的目的IP地址。输入VPC侧通过IPsec连接可以访问的本地数据中心的IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.sip**:健康检查的源IP地址。输入本地数据中心通过IPsec连接可以访问的VPC侧的IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.interval**:健康检查的重试间隔时间,单位:秒。默认值:**3**。'."\n" + ."\n" + .'- **HealthCheckConfig.retry**:健康检查的重试发包次数。默认值:**3**。'."\n" + ."\n" + .'- **HealthCheckConfig.Policy**:健康检查失败时是否撤销已发布的路由。取值:'."\n" + ."\n" + .' - **revoke_route**(默认值):撤销已发布的路由。'."\n" + .' - **reserve_route**:不撤销已发布的路由。', + 'type' => 'string', + 'required' => false, + 'example' => '{"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"}', + ], + ], + [ + 'name' => 'AutoConfigRoute', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动配置路由。取值:'."\n" + ."\n" + .'- **true**(默认值):自动配置路由。'."\n" + ."\n" + .'- **false**:不自动配置路由。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableDpd', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableNatTraversal', + 'in' => 'query', + 'schema' => [ + 'description' => '创建单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'RemoteCaCert', + 'in' => 'query', + 'schema' => [ + 'description' => '对端的CA证书。'."\n" + ."\n" + .'> 当前参数暂不生效。', + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + ], + [ + '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' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'IPsec连接待添加的标签列表。'."\n" + ."\n" + .'一次最多支持为IPsec连接添加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' => 21, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的资源组ID。'."\n" + ."\n" + .'- 您可以调用[ListResourceGroups](~~158855~~)接口查询资源组ID。'."\n" + .'- 如果您未指定资源组ID,IPsec连接创建后将归属于默认资源组。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + [ + 'name' => 'TunnelOptionsSpecification', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'flat', + 'schema' => [ + 'description' => '配置隧道。'."\n" + ."\n" + .'- 创建双隧道模式的IPsec-VPN连接时支持配置**TunnelOptionsSpecification**数组下的参数。'."\n" + .'- 创建双隧道模式的IPsec-VPN连接时,您必须同时为IPsec-VPN连接添加两条隧道,以确保IPsec-VPN连接拥有链路冗余能力。一个IPsec-VPN连接下仅支持添加两条隧道。', + 'type' => 'array', + 'items' => [ + 'description' => '配置隧道信息。', + 'type' => 'object', + 'properties' => [ + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关ID。'."\n" + ."\n" + .'> 创建双隧道模式IPsec-VPN连接时本参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + 'EnableDpd' => [ + 'description' => '是否为隧道开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '是否为隧道开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'TunnelIndex' => [ + 'description' => '隧道的创建顺序。'."\n" + ."\n" + .'- **1**:第一条隧道。'."\n" + .'- **2**:第二条隧道。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'TunnelBgpConfig' => [ + 'description' => '为隧道添加BGP配置。'."\n" + ."\n" + .'> 当您为IPsec连接开启BGP功能后(即指定**EnableTunnelsBgp**参数的值为**true**)需要配置该参数。', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。自治系统号取值范围:**1**~**4294967295**。默认值:**45104**。'."\n" + ."\n" + .'> 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。该地址为BGP网段内的一个IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.1', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + ."\n" + .'> 一个IPsec连接下两个隧道的隧道网段不能相同。', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.0/30', + ], + ], + 'required' => false, + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置信息。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => '第一阶段协商的认证算法。取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**sha1**。', + 'type' => 'string', + 'required' => false, + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => '第一阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => '第一阶段协商出的SA的生存周期。单位:秒。'."\n" + ."\n" + .'取值范围:**0**~**86400**。默认值:**86400**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE版本的协商模式。取值:**main**或**aggressive**。默认值:**main**。 '."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'required' => false, + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => '第一阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。 '."\n" + .'取值:**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议的版本。取值:**ikev1**或**ikev2**。默认值:**ikev2**。'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。', + 'type' => 'string', + 'required' => false, + 'example' => 'ikev2', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。默认值为隧道的IP地址。'."\n" + ."\n" + .'**LocalId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.XX.XX.1', + ], + 'Psk' => [ + 'description' => '预共享密钥,用于隧道与隧道对端之间的身份认证。'."\n" + ."\n" + .'- 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + ."\n" + .'- 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[DescribeVpnAttachments](~~2526939~~)接口查询系统自动生成的预共享密钥。 '."\n" + ."\n" + .'> 隧道及隧道对端的预共享密钥需一致,否则系统无法正常建立隧道。', + 'type' => 'string', + 'required' => false, + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。默认值为隧道关联的用户网关的IP地址。'."\n" + ."\n" + .'**RemoteId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.XX.XX.2', + ], + ], + 'required' => false, + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置信息。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => '第二阶段协商的认证算法。'."\n" + ."\n" + .'取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。默认值:**sha1**。', + 'type' => 'string', + 'required' => false, + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => '第二阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。默认值:**aes**。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => '第二阶段协商出的SA的生存周期。单位:秒。'."\n" + ."\n" + .'取值范围:**0**~**86400**。默认值:**86400**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => '第二阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。 '."\n" + ."\n" + .'取值:**disabled**、**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnableTunnelsBgp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '创建双隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否为隧道开启BGP功能。取值:**true**或**false**(默认值)。'."\n" + ."\n" + .'> 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由](~~445767~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建IPsec连接。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建IPsec连接。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TunnelBandwidth', + 'in' => 'query', + 'schema' => [ + 'title' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'description' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '88187252-0E26-3C4D-9D1D-32A04454EBBA', + ], + 'VpnConnectionId' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'example' => 'vco-p0wb09rama8qwwgfn****', + ], + 'Name' => [ + 'description' => 'IPsec连接的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'CreateTime' => [ + 'description' => '创建IPsec连接的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建IPsec连接时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1658201810000', + ], + 'Code' => [ + 'description' => '当前任务返回的状态码。**200**表示任务成功。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '当前任务返回的信息。', + 'type' => 'string', + 'example' => 'successful', + ], + 'Success' => [ + 'description' => '当前任务是否成功执行。'."\n" + ."\n" + .'- **true**:已成功执行。'."\n" + .'- **false**:未能成功执行。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'InvalidVpnConnection.AlreadyExists', + 'errorMessage' => 'Vpn connection already exists.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', + 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', + 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + [ + 'errorCode' => 'VpnRouteEntry.InvalidWeight', + 'errorMessage' => 'Invalid route entry weight value.', + ], + [ + 'errorCode' => 'InvalidParameter.VpnConnectionName', + 'errorMessage' => 'The specified vpn connection name is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.PolicyBasedRoute', + 'errorMessage' => 'The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s.', + ], + [ + 'errorCode' => 'MissingParameter.TunnelCidr', + 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'OperationUnsupported.EnableBgp', + 'errorMessage' => 'Current region does not support enable BGP.', + ], + [ + 'errorCode' => 'MissingParam.CustomerGatewayAsn', + 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'IllegalParam.LocalAsn', + 'errorMessage' => 'The specified LocalAsn is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.BgpConfig', + 'errorMessage' => 'The specified BgpConfig is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.EnableBgp', + 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', + ], + [ + 'errorCode' => 'IllegalParam.TunnelCidr', + 'errorMessage' => 'The specified TunnelCidr is invalid.', + ], + [ + 'errorCode' => 'InvalidLocalBgpIp.Malformed', + 'errorMessage' => 'The specified LocalBgpIp is malformed.', + ], + [ + 'errorCode' => 'IllegalParam.LocalBgpIp', + 'errorMessage' => 'The specified LocalBgpIp is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.RemoteSubnet', + 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.MissCertificate', + 'errorMessage' => 'The VPN connecton has not associated any certificates.', + ], + [ + 'errorCode' => 'MissingParam.RemoteId', + 'errorMessage' => 'The remote ID is mandatory when creating national standard VPN connection.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictRouteEntry', + 'errorMessage' => 'The specified customer gateway has conflict with route entry.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'OperationFailed.NoAvailableAmount', + 'errorMessage' => 'The available amount of your account is less than 0, please recharge before attempting to purchase.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidTunnelCidr.Malformed', + 'errorMessage' => 'The specified TunnelCidr is malformed.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictVpnIp', + 'errorMessage' => 'The customer gateway associated with the IPSec connection should not have the same IP address as the VPN gateway.', + ], + [ + 'errorCode' => 'MissingParameter.TunnelOptionsSpecification', + 'errorMessage' => 'The required parameters are missing when creating a tunnel for dual-tunnel VPN.', + ], + [ + 'errorCode' => 'CreateDbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of created destination routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'VpnConnection.InvalidCreateTunnelOptions', + 'errorMessage' => 'The master and slave tunnels must be created at the same time.', + ], + [ + 'errorCode' => 'OperationUnsupported.LargeTunnelBandwidth', + 'errorMessage' => 'Large tunnelBandwidth VpnAttachment is unsupported.', + ], + [ + 'errorCode' => 'IllegalParam.TunnelBandwidth', + 'errorMessage' => 'TunnelBandwidth is illegal.', + ], + [ + 'errorCode' => 'EncAlgInvalid.DesIncompatible', + 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', + ], + [ + 'errorCode' => 'OperationFailed.OpenCdtServiceFirst', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'IkeVersionInvalid.GcmIncompatible', + 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified customer gateway instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"88187252-0E26-3C4D-9D1D-32A04454EBBA\\",\\n \\"VpnConnectionId\\": \\"vco-p0wb09rama8qwwgfn****\\",\\n \\"Name\\": \\"nametest\\",\\n \\"CreateTime\\": 1658201810000,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n 88187252-0E26-3C4D-9D1D-32A04454EBBA\\n vco-p0wb09rama8qwwgfn****\\n nametest\\n 1658201810000\\n 200\\n true\\n successful\\n","errorExample":""}]', + 'title' => '创建IPsec连接', + 'description' => '>'."\n" + ."\n" + .'- 绑定转发路由器场景下,IPsec连接已升级为双隧道模式。创建IPsec-VPN连接时,除必填参数外,仅支持配置双隧道模式相关请求参数:**ClientToken**、**Name**、**NetworkType**、**EffectImmediately**、**Tags**数组、**ResourceGroupId**、**TunnelOptionsSpecification**数组、**EnableTunnelsBgp**。更多信息,请参见[绑定转发路由器场景双隧道IPsec-VPN连接说明](~~2853535~~)。'."\n" + ."\n" + .'- 调用`CreateVpnAttachment`接口创建的IPsec连接默认未绑定任何资源,后续您可以通过调用[CreateTransitRouterVpnAttachment](~~443993~~)接口将IPsec连接绑定转发路由器实例。绑定转发路由器实例后,系统会为IPsec连接分配网关IP地址,您可以调用[DescribeVpnConnection](~~2526951~~)接口查看。'."\n" + ."\n" + .'>'."\n" + ."\n" + .'### 前提条件'."\n" + .'创建IPsec连接前,请确保您已经在IPsec连接所在的地域创建了用户网关。具体操作,请参见[CreateCustomerGateway](~~120368~~)。'."\n" + .' '."\n" + .'如果您需要为IPsec连接添加BGP配置,请确保用户网关已添加了自治系统号。', + ], + 'CreateVcoRouteEntry' => [ + 'summary' => '调用CreateVcoRouteEntry接口为IPsec连接添加目的路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由条目的权重值。取值:'."\n" + ."\n" + .'- **0**:表示低优先级。'."\n" + .'- **100**:表示高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '100', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由条目的下一跳。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '目的路由条目的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'desctest', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(默认值),表示IPsec隧道协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建路由。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse4OpenApi', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'VpnConnectionId' => [ + 'description' => 'IPsec连接的ID。', + 'type' => 'string', + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + 'RouteDest' => [ + 'description' => '目的路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.10.0/24', + ], + 'NextHop' => [ + 'description' => '目的路由条目的下一跳。', + 'type' => 'string', + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + 'Weight' => [ + 'description' => '目的路由条目的权重值。'."\n" + ."\n" + .'- **0**:表示低优先级。'."\n" + .'- **100**:表示高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'OverlayMode' => [ + 'description' => '隧道协议。'."\n" + ."\n" + .'仅取值:**Ipsec**,表示IPsec隧道协议。', + 'type' => 'string', + 'example' => 'Ipsec', + ], + 'State' => [ + 'description' => '目的路由条目的发布状态。'."\n" + ."\n" + .'仅取值:**published**,表示当前路由条目已发布至转发路由器实例中。', + 'type' => 'string', + 'example' => 'published', + ], + 'CreateTime' => [ + 'description' => '创建目的路由条目的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建目的路由条目时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1658387202664', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CFC4D13B-E680-3985-95B1-87AA155481DF', + ], + 'Description' => [ + 'description' => '目的路由条目的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnConnection.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnConnection.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'VpnRouteEntry.ConflictSSL', + 'errorMessage' => 'The specified route entry has conflict with SSL client.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + [ + 'errorCode' => 'InvalidNextHop.NotFound', + 'errorMessage' => 'The specified NextHop does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.RouteDest', + 'errorMessage' => 'The specified RouteDest is invalid', + ], + [ + 'errorCode' => 'OperationFailed.InvalidCidrBlock', + 'errorMessage' => 'Operation failed because the specified network block is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.VpnRouteEntry', + 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'Resource.PbrRouteQuotaFull', + 'errorMessage' => 'The quota of Policy-based route is full.', + ], + [ + 'errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of policy routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'CreateDbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of created destination routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', + 'callbackInterval' => 1000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpnConnectionId\\": \\"vco-p0w2jpkhi2eeop6q6****\\",\\n \\"RouteDest\\": \\"192.168.10.0/24\\",\\n \\"NextHop\\": \\"vco-p0w2jpkhi2eeop6q6****\\",\\n \\"Weight\\": 100,\\n \\"OverlayMode\\": \\"Ipsec\\",\\n \\"State\\": \\"published\\",\\n \\"CreateTime\\": 1658387202664,\\n \\"RequestId\\": \\"CFC4D13B-E680-3985-95B1-87AA155481DF\\",\\n \\"Description\\": \\"desctest\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vco-p0w2jpkhi2eeop6q6****\\n 192.168.10.0/24\\n vco-p0w2jpkhi2eeop6q6****\\n 100\\n Ipsec\\n published\\n 1658387202664\\n CFC4D13B-E680-3985-95B1-87AA155481DF\\n desctest\\n","errorExample":""}]', + 'title' => '为IPsec连接添加目的路由条目', + 'description' => '- IPsec连接需已绑定转发路由器实例。具体操作,请参见[CreateTransitRouterVpnAttachment](~~468249~~)。'."\n" + .'- 不支持添加目标网段为0.0.0.0/0的目的路由。'."\n" + .'- 请勿添加目标网段为100.64.0.0/10、100.64.0.0/10下的子网段或者包含100.64.0.0/10网段的目的路由,该类路由条目会导致控制台无法显示IPsec连接的状态或者导致IPsec连接协商失败。'."\n" + .'- **CreateVcoRouteEntry**接口属于异步接口,即系统先返回一个实例ID,但该目的路由条目尚未创建成功,系统后台的创建任务仍在进行。您可以调用[DescribeVpnConnection](~~53046~~)查询目的路由条目的创建状态:'."\n" + .' - 当IPsec连接处于**updating**状态时,表示目的路由条目正在创建中。'."\n" + .' - 当IPsec连接处于**attached**状态时,表示目的路由条目创建成功。'."\n" + .'- **CreateVcoRouteEntry**接口不支持在同一IPsec连接下并发创建目的路由条目。', + ], + 'DeleteVpnAttachment' => [ + 'summary' => '调用DeleteVpnAttachment接口删除IPsec连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w7gtr14m09r9lkr****', + ], + ], + [ + '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****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => 'BaseResponse4OpenApi', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '29440C49-398F-3D06-BA8B-E3CD13F3246D', + ], + 'Code' => [ + 'description' => '当前任务返回的状态码。**200**表示任务成功。', + 'type' => 'string', + 'example' => '200', + ], + 'Success' => [ + 'description' => '当前任务是否成功执行。'."\n" + ."\n" + .'- **true**:已成功执行。'."\n" + .'- **false**:未能成功执行。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Message' => [ + 'description' => '当前任务返回的信息。', + 'type' => 'string', + 'example' => 'successful', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnConnection.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'Vco.StatusNotSupport', + 'errorMessage' => 'The current VCO status does not support operations such as modification and deletion.', + ], + [ + 'errorCode' => 'CrossAccountAuthorizedVco.NotAllowDelete', + 'errorMessage' => 'Current vpn connection is cross account authorized to cen, should delete cross account authorization first.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user. ', + ], + [ + 'errorCode' => 'Forbidden ', + 'errorMessage' => 'User not authorized to operate on the specified resource. ', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound ', + 'errorMessage' => 'The specified vpn connection instance id does not exist. ', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"29440C49-398F-3D06-BA8B-E3CD13F3246D\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 29440C49-398F-3D06-BA8B-E3CD13F3246D\\n 200\\n true\\n successful\\n","errorExample":""}]', + 'title' => '删除IPsec连接', + 'description' => '- 如果IPsec连接已绑定了转发路由器实例,在删除IPsec连接前,请先解除IPsec连接和转发路由器实例的绑定关系。具体操作,请参见[DeleteTransitRouterVpnAttachment](~~468251~~)。'."\n" + .'- 如果IPsec连接未绑定任何资源,您可以调用`DeleteVpnAttachment`接口直接删除IPsec连接。', + ], + 'DeleteVcoRouteEntry' => [ + 'summary' => '调用DeleteVcoRouteEntry接口删除IPsec连接下的目的路由条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w5112fgnl2ihlmf****', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '待删除的目的路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '待删除的目的路由条目的权重值。取值:'."\n" + ."\n" + .'- **0**:表示低优先级。'."\n" + .'- **100**:表示高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '100', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '待删除的目的路由条目的下一跳。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w5112fgnl2ihlmf****', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(默认值),表示IPsec隧道协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + [ + '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****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'BaseResponse4OpenApi', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9208DDD8-0930-3CE6-AF7F-732B4E67B3DD', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnConnection.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnConnection.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.NotFound', + 'errorMessage' => 'The specified route entry does not exist.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9208DDD8-0930-3CE6-AF7F-732B4E67B3DD\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9208DDD8-0930-3CE6-AF7F-732B4E67B3DD\\n","errorExample":""}]', + 'title' => '删除IPsec连接下的目的路由条目', + 'description' => '- **DeleteVcoRouteEntry**接口属于异步接口,即系统先返回一个请求ID,但该目的路由条目尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpnConnection](~~53046~~)查询目的路由条目的删除状态:'."\n" + .' - 当IPsec连接处于**updating**状态时,表示目的路由条目正在删除中。'."\n" + .' - 当IPsec连接处于**attached**状态时,表示目的路由条目删除成功。'."\n" + .'- **DeleteVcoRouteEntry**接口不支持在同一IPsec连接下并发删除目的路由条目。', + ], + 'ModifyVpnAttachmentAttribute' => [ + 'summary' => '调用ModifyVpnAttachmentAttribute接口修改IPsec连接的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w5112fgnl2ihlmf****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的名称。'."\n" + ."\n" + .'名称长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'nametest', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和本地数据中心互通的VPC侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.1.0/24,10.1.2.0/24', + ], + ], + [ + 'name' => 'RemoteSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '需要和VPC互通的本地数据中心侧的网段,用于第二阶段协商。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。'."\n" + ."\n" + .'关于IPsec连接路由模式的说明:'."\n" + ."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入为0.0.0.0/0,则表示您使用目的路由模式。'."\n" + .'- 如果**LocalSubnet**和**RemoteSubnet**均输入具体的网段,则表示您使用感兴趣流模式。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.3.0/24,10.1.4.0/24', + ], + ], + [ + 'name' => 'EffectImmediately', + 'in' => 'query', + 'schema' => [ + 'description' => '选择IPsec连接的配置是否立即生效。 取值:'."\n" + ."\n" + .'- **true**:配置完成后系统立即进行IPsec协议协商。'."\n" + .'- **false**:当有流量进入时系统才进行IPsec协议协商。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IkeConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第一阶段协商的配置信息:'."\n" + .' '."\n" + .'- **IkeConfig.Psk**:预共享密钥,用于阿里云IPsec连接与本地数据中心之间的身份认证。'."\n" + .' - 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + .' - 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[DescribeVpnConnection](~~120374~~)接口查询系统自动生成的预共享密钥。 '."\n" + .' > IPsec连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和VPN网关之间无法建立连接。'."\n" + ."\n" + .'- **IkeConfig.IkeVersion**:IKE协议的版本。取值:**ikev1**或**ikev2**。'."\n" + ."\n" + .'- **IkeConfig.IkeMode**:协商模式。取值:**main**或**aggressive**。'."\n" + ."\n" + .'- **IkeConfig.IkeEncAlg**:第一阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .'- **IkeConfig.IkeAuthAlg**:第一阶段协商的认证算法。取值:**md5**、**sha1**、**sha256**、**sha384**或**sha512**。'."\n" + ."\n" + .'- **IkeConfig.IkePfs**:第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:**group1**、**group2**、**group5**或**group14**。'."\n" + ."\n" + .'- **IkeConfig.IkeLifetime**:第一阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。'."\n" + ."\n" + .'- **IkeConfig.LocalId**:IPsec连接阿里云侧的标识,长度限制为100个字符,不能包含空格。'."\n" + ."\n" + .'- **IkeConfig.RemoteId**:IPsec连接本地数据中心侧的标识,长度限制为100个字符,不能包含空格。', + 'type' => 'string', + 'required' => false, + 'example' => '{"Psk":"1234****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"47.XX.XX.1","RemoteId":"47.XX.XX.2"}', + ], + ], + [ + 'name' => 'IpsecConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'第二阶段协商的配置信息: '."\n" + ."\n" + .'- **IpsecConfig.IpsecEncAlg**:第二阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。'."\n" + ."\n" + .'- **IpsecConfig. IpsecAuthAlg**:第二阶段协商的认证算法。取值:**md5**、**sha1**、**sha256**、**sha384**或**sha512**。'."\n" + ."\n" + .'- **IpsecConfig. IpsecPfs**:第二阶段协商使用的Diffie-Hellman密钥交换算法。取值:**disabled**、**group1**、**group2**、**group5**或**group14**。'."\n" + .'- **IpsecConfig. IpsecLifetime**:第二阶段协商出的SA的生存周期。单位:秒。取值范围:**0**~**86400**。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', + ], + ], + [ + 'name' => 'BgpConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'BGP的配置信息:'."\n" + ."\n" + .'- **BgpConfig.EnableBgp**:是否开启BGP功能。取值:'."\n" + .' - **true**:开启BGP功能。'."\n" + .' - **false**:关闭BGP功能。'."\n" + ."\n" + .'- **BgpConfig.LocalAsn**:阿里云侧的自治系统号。自治系统号取值范围:**1**~**4294967295**。'."\n" + ."\n" + .' 支持按照两段位的格式进行输入,即:前16位比特.后16位比特。每个段位使用十进制输入。'."\n" + ."\n" + .' 例如输入123.456,则表示自治系统号:123*65536+456=8061384。'."\n" + ."\n" + .'- **BgpConfig.TunnelCidr**:IPsec隧道网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + ."\n" + .'- **LocalBgpIp**:阿里云侧的BGP地址。该地址为IPsec隧道网段内的一个IP地址。 '."\n" + ."\n" + .'>- 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由'."\n" + .'](~~445767~~)。'."\n" + .'>- 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'string', + 'required' => false, + 'example' => '{"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', + ], + ], + [ + 'name' => 'HealthCheckConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'健康检查配置信息:'."\n" + ."\n" + .'- **HealthCheckConfig.enable**:是否开启健康检查,取值:'."\n" + .' - **true**:开启健康检查功能。'."\n" + .' - **false**:关闭健康检查功能。'."\n" + ."\n" + .'- **HealthCheckConfig.dip**:健康检查的目的IP地址。输入VPC侧通过IPsec连接可以访问的本地数据中心的IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.sip**:健康检查的源IP地址。输入本地数据中心通过IPsec连接可以访问的VPC侧的IP地址。'."\n" + ."\n" + .'- **HealthCheckConfig.interval**:健康检查的重试间隔时间,单位:秒。'."\n" + ."\n" + .'- **HealthCheckConfig.retry**:健康检查的重试发包次数。'."\n" + ."\n" + .'- **HealthCheckConfig.Policy**:健康检查失败时是否撤销已发布的路由。取值:'."\n" + ."\n" + .' - **revoke_route**:撤销已发布的路由。'."\n" + .' - **reserve_route**:不撤销已发布的路由。', + 'type' => 'string', + 'required' => false, + 'example' => '{"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"}', + ], + ], + [ + 'name' => 'AutoConfigRoute', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动配置路由。取值:'."\n" + ."\n" + .'- **true**:自动配置路由。'."\n" + ."\n" + .'- **false**:不自动配置路由。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableDpd', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**:开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableNatTraversal', + 'in' => 'query', + 'schema' => [ + 'description' => '修改单隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**:开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'RemoteCaCert', + 'in' => 'query', + 'schema' => [ + 'description' => '对端的CA证书。'."\n" + ."\n" + .'> 当前参数暂不生效。', + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', + ], + ], + [ + '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' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接的网络类型。取值:'."\n" + .'- **public**:公网,表示IPsec连接通过公网建立加密通信通道。'."\n" + .'- **private**:私网,表示IPsec连接通过私网建立加密通信通道。', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + ], + ], + [ + 'name' => 'CustomerGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接关联的用户网关实例。'."\n" + ."\n" + .'> 仅单隧道模式IPsec-VPN连接支持配置本参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + ], + [ + 'name' => 'TunnelOptionsSpecification', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'flat', + 'schema' => [ + 'description' => '配置隧道。'."\n" + ."\n" + .'仅修改双隧道模式的IPsec-VPN连接时支持配置**TunnelOptionsSpecification**数组下的参数。您可以同时修改IPsec-VPN连接两条隧道的配置。', + 'type' => 'array', + 'items' => [ + 'description' => '配置隧道信息。', + 'type' => 'object', + 'properties' => [ + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'tun-0jod7plwf2a0o9lvu****', + ], + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关ID。'."\n" + ."\n" + .'> 仅双隧道模式IPsec-VPN连接支持配置本参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + 'TunnelIndex' => [ + 'description' => '隧道的创建顺序。'."\n" + ."\n" + .'- **1**:第一条隧道。'."\n" + .'- **2**:第二条隧道。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'EnableDpd' => [ + 'description' => '是否为隧道开启DPD(对等体存活检测)功能。取值:'."\n" + ."\n" + .'- **true**:开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。'."\n" + ."\n" + .'- **false**:不开启DPD功能,IPsec发起端不会发送DPD探测报文。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '是否为隧道开启NAT穿越功能。取值:'."\n" + ."\n" + .'- **true**:开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对隧道中NAT网关设备的发现功能。'."\n" + ."\n" + .'- **false**:不开启NAT穿越功能。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'TunnelBgpConfig' => [ + 'description' => '为隧道添加BGP配置。'."\n" + ."\n" + .'> 当您为IPsec连接开启BGP功能后(即指定**EnableTunnelsBgp**参数的值为**true**)需要配置该参数。', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。自治系统号取值范围:**1**~**4294967295**。默认值:**45104**。'."\n" + ."\n" + .'> 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。该地址为BGP网段内的一个IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.1', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30、169.254.6.0/30和169.254.169.252/30。'."\n" + ."\n" + .'> 一个IPsec连接下两个隧道的隧道网段不能相同。', + 'type' => 'string', + 'required' => false, + 'example' => '169.254.10.0/30', + ], + ], + 'required' => false, + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置信息。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => '第一阶段协商的认证算法。取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。', + 'type' => 'string', + 'required' => false, + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => '第一阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => '第一阶段协商出的SA的生存周期。单位:秒。'."\n" + ."\n" + .'取值范围:**0**~**86400**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE版本的协商模式。取值:**main**或**aggressive**。 '."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'required' => false, + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => '第一阶段协商使用的Diffie-Hellman密钥交换算法。'."\n" + .'取值:**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议的版本。取值:**ikev1**或**ikev2**。'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。', + 'type' => 'string', + 'required' => false, + 'example' => 'ikev2', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。'."\n" + ."\n" + .'**LocalId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.XX.XX.1', + ], + 'Psk' => [ + 'description' => '预共享密钥,用于隧道与隧道对端之间的身份认证。'."\n" + ."\n" + .'- 密钥长度为1~100个字符,支持数字、大小写英文字母以及右侧字符,不能包含空格。```~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" + ."\n" + .'- 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[DescribeVpnAttachments](~~2526939~~)接口查询系统自动生成的预共享密钥。 '."\n" + ."\n" + .'> 隧道及隧道对端的预共享密钥需一致,否则系统无法正常建立隧道。', + 'type' => 'string', + 'required' => false, + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识,用于第一阶段的协商。长度限制为100个字符,不能包含空格。'."\n" + ."\n" + .'**RemoteId**支持FQDN格式,如果您使用FQDN格式,协商模式建议选择为**aggressive**(野蛮模式)。', + 'type' => 'string', + 'required' => false, + 'example' => '47.XX.XX.2', + ], + ], + 'required' => false, + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置信息。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => '第二阶段协商的认证算法。'."\n" + ."\n" + .'取值:**md5**、**sha1**、**sha256**、**sha384**、**sha512**。', + 'type' => 'string', + 'required' => false, + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => '第二阶段协商的加密算法。取值:**aes**、**aes192**、**aes256**、**des**或**3des**。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => '第二阶段协商出的SA的生存周期。单位:秒。'."\n" + ."\n" + .'取值范围:**0**~**86400**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => '第二阶段协商使用的Diffie-Hellman密钥交换算法。'."\n" + ."\n" + .'取值:**disabled**、**group1**、**group2**、**group5**、**group14**。', + 'type' => 'string', + 'required' => false, + 'example' => 'group2', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnableTunnelsBgp', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '修改双隧道模式的IPsec-VPN连接时支持配置该参数。'."\n" + ."\n" + .'是否为隧道开启BGP功能。取值:**true**或**false**。'."\n" + ."\n" + .'> 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见[配置BGP动态路由](~~445767~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse4OpenApi', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'VpnConnectionId' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'example' => 'vco-p0w5112fgnl2ihlmf****', + ], + 'CustomerGatewayId' => [ + 'description' => 'IPsec连接绑定的用户网关ID。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'string', + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + 'VpnGatewayId' => [ + 'description' => 'IPsec连接绑定的VPN网关实例 ID。'."\n" + ."\n" + .'**vpn-not-exist**:IPsec连接未绑定VPN网关实例。', + 'type' => 'string', + 'example' => 'vpn-not-exist', + ], + 'Name' => [ + 'description' => 'IPsec连接的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'Description' => [ + 'description' => 'IPsec连接的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'LocalSubnet' => [ + 'description' => '需要和本地数据中心互通的阿里云侧的网段,例如VPC的网段。', + 'type' => 'string', + 'example' => '10.1.1.0/24,10.1.2.0/24', + ], + 'RemoteSubnet' => [ + 'description' => '需要和阿里云互通的本地数据中心侧的网段。', + 'type' => 'string', + 'example' => '10.1.3.0/24,10.1.4.0/24', + ], + 'IkeConfig' => [ + 'description' => '第一阶段协商的配置信息。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**IkeConfig**数组下的参数。', + 'type' => 'object', + 'properties' => [ + 'Psk' => [ + 'description' => '预共享密钥,用于阿里云IPsec连接与本地数据中心之间的身份认证。'."\n" + ."\n" + .'> IPsec连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和VPN网关之间无法建立连接。', + 'type' => 'string', + 'example' => '1234***', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。'."\n" + ."\n" + .'- **ikev1**'."\n" + .'- **ikev2**'."\n" + ."\n" + .'相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。', + 'type' => 'string', + 'example' => 'ikev1', + ], + 'IkeMode' => [ + 'description' => 'IKE协商模式。'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkeEncAlg' => [ + 'description' => '第一阶段协商的加密算法。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'aes', + ], + 'IkeAuthAlg' => [ + 'description' => '第一阶段协商的认证算法。'."\n", + 'type' => 'string', + 'example' => 'sha1', + ], + 'IkePfs' => [ + 'description' => '第一阶段协商使用的Diffie-Hellman密钥交换算法。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeLifetime' => [ + 'description' => '第一阶段协商出的SA的生存周期。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'LocalId' => [ + 'description' => 'IPsec连接阿里云侧的标识。'."\n", + 'type' => 'string', + 'example' => '47.XX.XX.1', + ], + 'RemoteId' => [ + 'description' => 'IPsec连接对端本地数据中心侧的标识。', + 'type' => 'string', + 'example' => '47.XX.XX.2', + ], + ], + ], + 'IpsecConfig' => [ + 'description' => '第二阶段协商的配置信息。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**IpsecConfig**数组下的参数。', + 'type' => 'object', + 'properties' => [ + 'IpsecEncAlg' => [ + 'description' => '第二阶段协商的加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecAuthAlg' => [ + 'description' => '第二阶段协商的认证算法。', + 'type' => 'string', + 'example' => 'md5', + ], + 'IpsecPfs' => [ + 'description' => '第二阶段协商使用的Diffie-Hellman密钥交换算法。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IpsecLifetime' => [ + 'description' => '第二阶段协商出的SA的生存周期。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + ], + ], + 'CreateTime' => [ + 'description' => '创建IPsec连接的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建IPsec连接时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1658201810000', + ], + 'EffectImmediately' => [ + 'description' => 'IPsec连接的配置是否立即生效。 '."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Status' => [ + 'description' => 'IPsec连接的状态。'."\n" + ."\n" + .'- **ike_sa_not_established**:第一阶段协商失败。'."\n" + ."\n" + .'- **ike_sa_established**:第一阶段协商成功。'."\n" + ."\n" + .'- **ipsec_sa_not_established**:第二阶段协商失败。'."\n" + ."\n" + .'- **ipsec_sa_established**:第二阶段协商成功。', + 'type' => 'string', + 'example' => 'ike_sa_not_established', + ], + 'VcoHealthCheck' => [ + 'description' => 'IPsec连接的健康检查配置信息。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**VcoHealthCheck**数组下的参数。', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'description' => 'IPsec连接是否已开启健康检查功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'Sip' => [ + 'description' => '健康检查的源IP地址。', + 'type' => 'string', + 'example' => '10.1.1.1', + ], + 'Dip' => [ + 'description' => '健康检查的目的IP地址。', + 'type' => 'string', + 'example' => '192.168.1.1', + ], + 'Interval' => [ + 'description' => '健康检查的重试间隔时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Retry' => [ + 'description' => '健康检查的重试发包次数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Policy' => [ + 'description' => '健康检查失败时是否撤销已发布的路由。'."\n" + ."\n" + .'- **revoke_route**:撤销已发布的路由。'."\n" + .'- **reserve_route**:不撤销已发布的路由。', + 'type' => 'string', + 'example' => 'revoke_route', + ], + ], + ], + 'EnableDpd' => [ + 'description' => 'IPsec连接是否已开启DPD功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => 'IPsec连接是否已开启NAT穿越功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VpnBgpConfig' => [ + 'description' => 'IPsec连接的BGP配置信息。'."\n" + ."\n" + .'仅单隧道模式的IPsec-VPN连接会返回**VpnBgpConfig**数组下的参数。', + 'type' => 'object', + 'properties' => [ + 'EnableBgp' => [ + 'description' => 'IPsec连接是否已开启BGP功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。', + 'type' => 'string', + 'example' => 'true', + ], + 'TunnelCidr' => [ + 'description' => 'IPsec隧道网段。', + 'type' => 'string', + 'example' => '169.254.11.0/30', + ], + 'LocalBgpIp' => [ + 'description' => '阿里云侧的BGP IP地址。', + 'type' => 'string', + 'example' => '169.254.11.1', + ], + 'PeerBgpIp' => [ + 'description' => '本地数据中心侧的BGP IP地址。', + 'type' => 'string', + 'example' => '169.254.11.2', + ], + 'LocalAsn' => [ + 'description' => '阿里云侧的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '45104', + ], + 'PeerAsn' => [ + 'description' => '本地数据中心侧的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65535', + ], + 'Status' => [ + 'description' => 'BGP的协商状态。'."\n" + ."\n" + .'- **success**:正常。'."\n" + .'- **false**:异常。', + 'type' => 'string', + 'example' => 'false', + ], + ], + ], + 'AttachType' => [ + 'description' => 'IPsec连接绑定的资源类型。'."\n" + ."\n" + .'- **CEN**:表示IPsec连接绑定了转发路由器实例。'."\n" + .'- **VPNGW**:表示IPsec连接绑定了VPN网关实例。'."\n" + .'- **NO_ASSOCIATED**:表示IPsec连接未绑定任何资源。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'NetworkType' => [ + 'description' => 'IPsec连接的网络类型。'."\n" + .'- **public**:公网。'."\n" + .'- **private**:私网。', + 'type' => 'string', + 'example' => 'public', + ], + 'AttachInstanceId' => [ + 'description' => 'IPsec连接绑定的转发路由器实例所属的云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-c2r3m3zxkumoqz****', + ], + 'Spec' => [ + 'description' => 'IPsec连接的带宽规格。'."\n" + ."\n" + .'返回值中**M**表示单位**Mbps**。', + 'type' => 'string', + 'example' => '1000M', + ], + 'ResourceGroupId' => [ + 'description' => 'IPsec连接所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + 'TunnelOptionsSpecification' => [ + 'description' => 'IPsec连接的隧道配置信息。'."\n" + ."\n" + .'仅双隧道模式的IPsec连接会返回**TunnelOptionsSpecification**数组下的参数。', + 'type' => 'array', + 'items' => [ + 'description' => '隧道的配置信息。', + 'type' => 'object', + 'properties' => [ + 'CustomerGatewayId' => [ + 'description' => '隧道关联的用户网关ID。', + 'type' => 'string', + 'example' => 'cgw-p0w2jemrcj5u61un8****', + ], + 'EnableDpd' => [ + 'description' => '隧道是否已开启DPD功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EnableNatTraversal' => [ + 'description' => '隧道是否已开启NAT穿越功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InternetIp' => [ + 'description' => '隧道阿里云侧网关IP地址。', + 'type' => 'string', + 'example' => '47.XX.XX.66', + ], + 'Role' => [ + 'description' => '隧道的角色。'."\n" + ."\n" + .'- **master**:表示当前隧道为主隧道。'."\n" + .'- **slave**:表示当前隧道为备隧道。', + 'type' => 'string', + 'example' => 'master', + ], + 'TunnelId' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-0jod7plwf2a0o9lvu****', + ], + 'TunnelIndex' => [ + 'description' => '隧道的创建顺序。'."\n" + ."\n" + .'- **1**:第一条隧道。'."\n" + .'- **2**:第二条隧道。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'State' => [ + 'description' => '隧道的状态。'."\n" + ."\n" + .'- **active**:状态正常。'."\n" + .'- **updating**:更新中。'."\n" + .'- **deleting**:删除中。', + 'type' => 'string', + 'example' => 'active', + ], + 'TunnelBgpConfig' => [ + 'description' => '隧道的BGP配置信息。', + 'type' => 'object', + 'properties' => [ + 'LocalAsn' => [ + 'description' => '隧道本端(阿里云侧)的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65530', + ], + 'LocalBgpIp' => [ + 'description' => '隧道本端(阿里云侧)的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.1', + ], + 'PeerAsn' => [ + 'description' => '隧道对端的自治系统号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '65531', + ], + 'PeerBgpIp' => [ + 'description' => '隧道对端的BGP地址。', + 'type' => 'string', + 'example' => '169.254.10.2', + ], + 'TunnelCidr' => [ + 'description' => '隧道的BGP网段。', + 'type' => 'string', + 'example' => '169.254.10.0/30', + ], + ], + ], + 'TunnelIkeConfig' => [ + 'description' => '第一阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IkeAuthAlg' => [ + 'description' => 'IKE阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IkeLifetime' => [ + 'description' => 'IKE阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeMode' => [ + 'description' => 'IKE版本的协商模式。取值:'."\n" + ."\n" + .'- **main**:主模式,协商过程安全性高。'."\n" + .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', + 'type' => 'string', + 'example' => 'main', + ], + 'IkePfs' => [ + 'description' => 'IKE阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeVersion' => [ + 'description' => 'IKE协议版本。', + 'type' => 'string', + 'example' => 'ikev2', + ], + 'LocalId' => [ + 'description' => '隧道本端(阿里云侧)的标识。', + 'type' => 'string', + 'example' => '47.XX.XX.1', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => '123456****', + ], + 'RemoteId' => [ + 'description' => '隧道对端的标识。', + 'type' => 'string', + 'example' => '47.XX.XX.2', + ], + ], + ], + 'TunnelIpsecConfig' => [ + 'description' => '第二阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec阶段认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec阶段加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec阶段生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecPfs' => [ + 'description' => 'IPsec阶段DH分组。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + ], + ], + ], + 'EnableTunnelsBgp' => [ + 'description' => '隧道BGP的开启状态。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + .'- **false**:未开启。'."\n" + ."\n" + .'仅双隧道模式的IPsec-VPN连接会返回该参数。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '35822A84-867F-3936-A2E6-A4C4E3ED11C0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnConnection.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnConnection.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', + 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', + ], + [ + 'errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', + 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', + ], + [ + 'errorCode' => 'VpnRouteEntry.BackupRoute', + 'errorMessage' => 'Validate backup route entry failed.', + ], + [ + 'errorCode' => 'VpnRouteEntry.InvalidWeight', + 'errorMessage' => 'Invalid route entry weight value.', + ], + [ + 'errorCode' => 'MissingParameter.TunnelCidr', + 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'OperationUnsupported.EnableBgp', + 'errorMessage' => 'Current region does not support enable BGP.', + ], + [ + 'errorCode' => 'MissingParam.CustomerGatewayAsn', + 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', + ], + [ + 'errorCode' => 'IllegalParam.LocalAsn', + 'errorMessage' => 'The specified LocalAsn is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.BgpConfig', + 'errorMessage' => 'The specified BgpConfig is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.EnableBgp', + 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', + ], + [ + 'errorCode' => 'IllegalParam.TunnelCidr', + 'errorMessage' => 'The specified TunnelCidr is invalid.', + ], + [ + 'errorCode' => 'InvalidLocalBgpIp.Malformed', + 'errorMessage' => 'The specified LocalBgpIp is malformed.', + ], + [ + 'errorCode' => 'IllegalParam.LocalBgpIp', + 'errorMessage' => 'The specified LocalBgpIp is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.RemoteSubnet', + 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictRouteEntry', + 'errorMessage' => 'The specified customer gateway has conflict with route entry.', + ], + [ + 'errorCode' => 'IllegalParam.NetworkType', + 'errorMessage' => 'The specified NetworkType (%s) is invalid.', + ], + [ + 'errorCode' => 'InvalidTunnelCidr.Malformed', + 'errorMessage' => 'The specified TunnelCidr is malformed.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnTask.CONFLICT', + 'errorMessage' => 'Vpn task has conflict.', + ], + [ + 'errorCode' => 'ModifyIkeV1WithMultiRoutes.Invalid', + 'errorMessage' => 'Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resources you are operating have reached the upper limit of the quota. Please increase the quota or use other solutions to avoid it according to the VPN operation document.', + ], + [ + 'errorCode' => 'CreateDbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of created destination routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', + 'errorMessage' => 'The number of policy routes exceeds the quota limit.', + ], + [ + 'errorCode' => 'EncAlgInvalid.DesIncompatible', + 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', + ], + [ + 'errorCode' => 'IkeVersionInvalid.GcmIncompatible', + 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', + ], + [ + 'errorCode' => 'CustomerGateway.ConflictVpnIp', + 'errorMessage' => 'The specified customer gateway has conflict with vpn gateway ip.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpnConnectionId\\": \\"vco-p0w5112fgnl2ihlmf****\\",\\n \\"CustomerGatewayId\\": \\"cgw-p0w2jemrcj5u61un8****\\",\\n \\"VpnGatewayId\\": \\"vpn-not-exist\\",\\n \\"Name\\": \\"nametest\\",\\n \\"Description\\": \\"desctest\\",\\n \\"LocalSubnet\\": \\"10.1.1.0/24,10.1.2.0/24\\",\\n \\"RemoteSubnet\\": \\"10.1.3.0/24,10.1.4.0/24\\",\\n \\"IkeConfig\\": {\\n \\"Psk\\": \\"1234***\\",\\n \\"IkeVersion\\": \\"ikev1\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"IkeAuthAlg\\": \\"sha1\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeLifetime\\": 86400,\\n \\"LocalId\\": \\"47.XX.XX.1\\",\\n \\"RemoteId\\": \\"47.XX.XX.2\\"\\n },\\n \\"IpsecConfig\\": {\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecAuthAlg\\": \\"md5\\",\\n \\"IpsecPfs\\": \\"group2\\",\\n \\"IpsecLifetime\\": 86400\\n },\\n \\"CreateTime\\": 1658201810000,\\n \\"EffectImmediately\\": false,\\n \\"Status\\": \\"ike_sa_not_established\\",\\n \\"VcoHealthCheck\\": {\\n \\"Enable\\": \\"true\\",\\n \\"Sip\\": \\"10.1.1.1\\",\\n \\"Dip\\": \\"192.168.1.1\\",\\n \\"Interval\\": 3,\\n \\"Retry\\": 3,\\n \\"Policy\\": \\"revoke_route\\"\\n },\\n \\"EnableDpd\\": true,\\n \\"EnableNatTraversal\\": true,\\n \\"VpnBgpConfig\\": {\\n \\"EnableBgp\\": \\"true\\",\\n \\"TunnelCidr\\": \\"169.254.11.0/30\\",\\n \\"LocalBgpIp\\": \\"169.254.11.1\\",\\n \\"PeerBgpIp\\": \\"169.254.11.2\\",\\n \\"LocalAsn\\": 45104,\\n \\"PeerAsn\\": 65535,\\n \\"Status\\": \\"false\\"\\n },\\n \\"AttachType\\": \\"CEN\\",\\n \\"NetworkType\\": \\"public\\",\\n \\"AttachInstanceId\\": \\"cen-c2r3m3zxkumoqz****\\",\\n \\"Spec\\": \\"1000M\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"TunnelOptionsSpecification\\": [\\n {\\n \\"CustomerGatewayId\\": \\"cgw-p0w2jemrcj5u61un8****\\",\\n \\"EnableDpd\\": true,\\n \\"EnableNatTraversal\\": true,\\n \\"InternetIp\\": \\"47.XX.XX.66\\",\\n \\"Role\\": \\"master\\",\\n \\"TunnelId\\": \\"tun-0jod7plwf2a0o9lvu****\\",\\n \\"TunnelIndex\\": 1,\\n \\"State\\": \\"active\\",\\n \\"TunnelBgpConfig\\": {\\n \\"LocalAsn\\": 65530,\\n \\"LocalBgpIp\\": \\"169.254.10.1\\",\\n \\"PeerAsn\\": 65531,\\n \\"PeerBgpIp\\": \\"169.254.10.2\\",\\n \\"TunnelCidr\\": \\"169.254.10.0/30\\"\\n },\\n \\"TunnelIkeConfig\\": {\\n \\"IkeAuthAlg\\": \\"sha1\\",\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeMode\\": \\"main\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeVersion\\": \\"ikev2\\",\\n \\"LocalId\\": \\"47.XX.XX.1\\",\\n \\"Psk\\": \\"123456****\\",\\n \\"RemoteId\\": \\"47.XX.XX.2\\"\\n },\\n \\"TunnelIpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecPfs\\": \\"group2\\"\\n }\\n }\\n ],\\n \\"EnableTunnelsBgp\\": false,\\n \\"RequestId\\": \\"35822A84-867F-3936-A2E6-A4C4E3ED11C0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vco-p0w5112fgnl2ihlmf****\\n cgw-p0w2jemrcj5u61un8****\\n nametest\\n desctest\\n 10.1.1.0/24,10.1.2.0/24\\n 10.1.3.0/24,10.1.4.0/24\\n \\n 1234***\\n ikev1\\n main\\n aes\\n sha1\\n group2\\n 86400\\n 47.XX.XX.1\\n 47.XX.XX.2\\n \\n \\n aes\\n md5\\n group2\\n 86400\\n \\n 1658201810000\\n false\\n ike_sa_not_established\\n \\n true\\n 10.1.1.1\\n 192.168.1.1\\n 3\\n 3\\n revoke_route\\n \\n true\\n true\\n \\n true\\n 169.254.11.0/30\\n 169.254.11.1\\n 169.254.11.2\\n 45104\\n 65535\\n false\\n \\n CEN\\n public\\n cen-c2r3m3zxkumoqz****\\n 1000M\\n 35822A84-867F-3936-A2E6-A4C4E3ED11C0\\n","errorExample":""}]', + 'title' => '修改IPsec连接的配置', + 'description' => '- 修改双隧道模式的IPsec-VPN连接时,除配置必填参数外,支持配置以下请求参数:**ClientToken**、**Name**、 **LocalSubnet**、**RemoteSubnet**、**EffectImmediately**、**TunnelOptionsSpecification**数组、**EnableTunnelsBgp**。'."\n" + ."\n" + .'- 修改单隧道模式的IPsec-VPN连接时,除配置必填参数外,支持配置以下请求参数:**ClientToken**、**Name**、**LocalSubnet**、**RemoteSubnet**、**EffectImmediately**、**IkeConfig**、**IpsecConfig**、**HealthCheckConfig**、**EnableDpd**、**EnableNatTraversal**、**BgpConfig**、**CustomerGatewayId**。'."\n" + ."\n\n" + .'- **ModifyVpnAttachmentAttribute**接口属于异步接口,即系统返回一个请求ID,但该IPsec连接的配置尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnConnection](~~53046~~)查询IPsec连接的配置的修改状态:'."\n" + .' - 当IPsec连接处于**updating**状态时,表示IPsec连接的配置正在修改中。'."\n" + .' - 当IPsec连接处于**attached**状态时,表示IPsec连接的配置修改成功。'."\n" + .'- **ModifyVpnAttachmentAttribute**接口不支持并发修改IPsec连接的配置。'."\n" + .'- 调用**ModifyVpnAttachmentAttribute**接口时,不支持修改IPsec连接的网关类型。', + ], + 'ModifyVcoRouteEntryWeight' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + ], + [ + 'name' => 'RouteDest', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改的目的路由条目的目标网段。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.10.0/24', + ], + ], + [ + 'name' => 'Weight', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改的目的路由条目的权重值。取值:'."\n" + ."\n" + .'- **0**:表示低优先级。'."\n" + .'- **100**:表示高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '100', + ], + ], + [ + 'name' => 'NewWeight', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改的目的路由条目新的权重值。取值:'."\n" + ."\n" + .'- **0**:表示低优先级。'."\n" + .'- **100**:表示高优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '0', + ], + ], + [ + 'name' => 'NextHop', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改的目的路由条目的下一跳。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + ], + [ + 'name' => 'OverlayMode', + 'in' => 'query', + 'schema' => [ + 'description' => '隧道协议。仅取值:**Ipsec**(默认值),表示IPsec隧道协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipsec', + ], + ], + [ + '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****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'BaseResponse4OpenApi', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9496F8A-82F4-3130-A51A-2266ACC799B4', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnConnection.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnConnection.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'VpnRouteEntry.AlreadyExists', + 'errorMessage' => 'The specified route entry is already exist.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'staticInfo' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9496F8A-82F4-3130-A51A-2266ACC799B4\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9496F8A-82F4-3130-A51A-2266ACC799B4\\n","errorExample":""}]', + 'title' => '修改IPsec连接下目的路由条目的权重值', + 'summary' => '调用ModifyVcoRouteEntryWeight接口修改IPsec连接下目的路由条目的权重值。', + 'description' => '- **ModifyVcoRouteEntryWeight**接口属于异步接口,即系统先返回一个请求ID,但该目的路由条目的权重值尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnConnection](~~53046~~)查询目的路由条目的权重值的修改状态:'."\n" + .' - 当IPsec连接处于**updating**状态时,表示目的路由条目的权重值正在修改中。'."\n" + .' - 当IPsec连接处于**attached**状态时,表示目的路由条目的权重值修改成功。'."\n" + .'- **ModifyVcoRouteEntryWeight**接口不支持在同一IPsec连接下并发修改目的路由条目的权重值。', + ], + 'DescribeVpnAttachments' => [ + 'summary' => '调用DescribeVpnAttachments接口查询已绑定转发路由器实例的IPsec连接的配置信息。', + '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' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的条目数。默认值:**10**。取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。'."\n" + ."\n" + .'> 如果您不输入IPsec连接ID,系统默认查询当前地域下所有已绑定转发路由器实例的IPsec连接的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + ], + [ + 'name' => 'AttachType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接绑定的资源类型。默认值:**CEN**。'."\n" + ."\n" + .'仅取值:**CEN**,表示查询已绑定转发路由器实例的IPsec连接的信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'CEN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9F0725BB-186A-3564-91C3-AAE48042F853', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'VpnAttachments' => [ + 'description' => '已绑定转发路由器实例的IPsec连接的信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '已绑定转发路由器实例的IPsec连接的信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + 'Name' => [ + 'description' => 'IPsec连接的名称。', + 'type' => 'string', + 'example' => 'nametest1', + ], + 'Description' => [ + 'description' => 'IPsec连接的描述信息。', + 'type' => 'string', + 'example' => 'desctest', + ], + 'AttachType' => [ + 'description' => 'IPsec连接绑定的资源类型。仅取值:**CEN**,表示当前IPsec连接绑定了转发路由器实例。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'TransitRouterId' => [ + 'description' => 'IPsec连接绑定的转发路由器实例ID。', + 'type' => 'string', + 'example' => 'tr-p0wkh4yryb1dnanqw****', + ], + 'TransitRouterName' => [ + 'description' => '转发路由器实例的名称。', + 'type' => 'string', + 'example' => 'nametest2', + ], + 'CrossAccountAuthorized' => [ + 'description' => 'IPsec连接是否绑定了跨账号的转发路由器实例。'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Tag' => [ + 'description' => 'IPsec连接的系统标签。'."\n" + ."\n" + .'通过系统标签您可以了解IPsec连接是否支持BGP功能,其余属性无需关注。'."\n" + ."\n" + .'**BGPSupport**:表示IPsec连接否支持BGP功能。'."\n" + .' - **true**:支持。'."\n" + .' - **false**:不支持。', + 'type' => 'string', + 'example' => '{\\"description\\":\\"转发1.7.22\\",\\"VisuallySsl\\":\\"true\\",\\"PbrPriority\\":\\"true\\",\\"BGPSupport\\":\\"true\\",\\"IDaaSNewVersion\\":\\"true\\"}', + ], + 'Tags' => [ + 'description' => 'IPsec连接绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + 'TunnelBandwidth' => [ + 'title' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'description' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" + .'Standard(默认值):标准型,默认带宽1Gbps'."\n" + .'Large(大型):大型,默认带宽3Gbps', + 'type' => 'string', + 'example' => 'Standard', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified parameter TagValue is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TagKey', + 'errorMessage' => 'The specified parameter TagKey is invalid.', + ], + [ + 'errorCode' => 'Duplicated.TagKey', + 'errorMessage' => 'The specified parameter TagKey is duplicated.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9F0725BB-186A-3564-91C3-AAE48042F853\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"VpnAttachments\\": [\\n {\\n \\"InstanceId\\": \\"vco-p0w2jpkhi2eeop6q6****\\",\\n \\"Name\\": \\"nametest1\\",\\n \\"Description\\": \\"desctest\\",\\n \\"AttachType\\": \\"CEN\\",\\n \\"TransitRouterId\\": \\"tr-p0wkh4yryb1dnanqw****\\",\\n \\"TransitRouterName\\": \\"nametest2\\",\\n \\"CrossAccountAuthorized\\": false,\\n \\"Tag\\": \\"{\\\\\\\\\\\\\\"description\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"转发1.7.22\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"VisuallySsl\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"PbrPriority\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"BGPSupport\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"IDaaSNewVersion\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ],\\n \\"TunnelBandwidth\\": \\"Standard\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 9F0725BB-186A-3564-91C3-AAE48042F853\\n 10\\n 1\\n 1\\n \\n vco-p0w2jpkhi2eeop6q6****\\n nametest1\\n CEN\\n tr-p0wkh4yryb1dnanqw****\\n nametest2\\n false\\n \\n","errorExample":""}]', + 'title' => '查询已绑定转发路由器实例的IPsec连接的配置信息', + ], + 'DescribeVcoRouteEntries' => [ + 'summary' => '调用DescribeVcoRouteEntries接口查询IPsec连接下路由条目的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + ], + [ + 'name' => 'RouteEntryType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由条目类型。取值:'."\n" + ."\n" + .'- **custom**(默认值):目的路由条目。'."\n" + .'- **bgp**:BGP路由条目。', + 'type' => 'string', + 'required' => false, + 'example' => 'custom', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的条目数。默认值:**10**。取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + '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****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'PlainResponse4OpenApi', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'VcoRouteEntries' => [ + 'description' => '路由条目信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目信息。', + 'type' => 'object', + 'properties' => [ + 'VpnConnectionId' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + 'RouteDest' => [ + 'description' => '路由条目的目标网段。', + 'type' => 'string', + 'example' => '192.168.10.0/24', + ], + 'NextHop' => [ + 'description' => '路由条目的下一跳。', + 'type' => 'string', + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + 'Weight' => [ + 'description' => '目的路由条目的权重值。'."\n" + ."\n" + .'> 当前参数无实际作用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'State' => [ + 'description' => '路由条目的状态。'."\n" + ."\n" + .'- **published**:表示当前目的路由条目已发布至转发路由器实例中。'."\n" + .'- **Active**:表示当前BGP路由条目可用。', + 'type' => 'string', + 'example' => 'published', + ], + 'RouteEntryType' => [ + 'description' => '路由条目类型。'."\n" + ."\n" + .'- **custom**:表示当前路由条目为目的路由条目。'."\n" + .'- **bgp**:表示当前路由条目为BGP路由条目。', + 'type' => 'string', + 'example' => 'custom', + ], + 'CreateTime' => [ + 'description' => '创建目的路由条目的时间戳。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建目的路由条目时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1658217008000', + ], + 'AsPath' => [ + 'description' => 'BGP路由条目经过的自治系统号列表。', + 'type' => 'string', + 'example' => '[12000]', + ], + 'Community' => [ + 'description' => 'BGP路由条目携带的Community值。', + 'type' => 'string', + 'example' => '65535:65510', + ], + 'Source' => [ + 'description' => 'BGP路由条目的来源。'."\n" + ."\n" + .'- **CLOUD**:表示当前BGP路由条目是IPsec连接通过转发路由器学习到的。'."\n" + .'- **VPN_BGP**:表示当前BGP路由条目是IPsec连接从本地数据中心学习到的。', + 'type' => 'string', + 'example' => 'CLOUD', + ], + 'NextHopTunnelIdList' => [ + 'description' => '下一跳隧道列表。'."\n" + ."\n" + .'> - 仅双隧道模式的IPsec连接会返回该信息。'."\n" + .'> - 仅隧道状态为**第二阶段协商成功**时,接口才会返回隧道信息。', + 'type' => 'array', + 'items' => [ + 'description' => '隧道ID。', + 'type' => 'string', + 'example' => 'tun-0jothw962cp3bvhbw****', + ], + ], + ], + ], + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E18980E8-C8C2-31BD-8156-AE2BBDEC87E1', + ], + 'VpnRouteCounts' => [ + 'description' => '双隧道模式IPsec连接的路由条目统计信息。'."\n" + ."\n" + .'> 仅双隧道模式的IPsec连接会返回该组信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由条目统计信息。', + 'type' => 'object', + 'properties' => [ + 'RouteEntryType' => [ + 'description' => '路由条目类型。'."\n" + ."\n" + .'- **custom**:目的路由条目。'."\n" + .'- **bgp**:BGP路由条目。', + 'type' => 'string', + 'example' => 'bgp', + ], + 'RouteCount' => [ + 'description' => '路由条目数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Source' => [ + 'description' => 'BGP路由条目的来源。'."\n" + ."\n" + .'- **CLOUD**:表示当前BGP路由条目是IPsec连接通过转发路由器学习到的。'."\n" + .'- **VPN_BGP**:表示当前BGP路由条目是IPsec连接从本地数据中心学习到的。', + 'type' => 'string', + 'example' => 'VPN_BGP', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.RouteEntryType', + 'errorMessage' => 'The specified RouteEntryType is invalid.', + ], + [ + 'errorCode' => 'Vco.StatusNotSupport', + 'errorMessage' => 'The current VPN connection state does not support this operation.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', + 'errorMessage' => 'The specified vpn connection instance id does not exist.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"VcoRouteEntries\\": [\\n {\\n \\"VpnConnectionId\\": \\"vco-p0w2jpkhi2eeop6q6****\\",\\n \\"RouteDest\\": \\"192.168.10.0/24\\",\\n \\"NextHop\\": \\"vco-p0w2jpkhi2eeop6q6****\\",\\n \\"Weight\\": 100,\\n \\"State\\": \\"published\\",\\n \\"RouteEntryType\\": \\"custom\\",\\n \\"CreateTime\\": 1658217008000,\\n \\"AsPath\\": \\"[12000]\\",\\n \\"Community\\": \\"65535:65510\\",\\n \\"Source\\": \\"CLOUD\\",\\n \\"NextHopTunnelIdList\\": [\\n \\"tun-0jothw962cp3bvhbw****\\"\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"E18980E8-C8C2-31BD-8156-AE2BBDEC87E1\\",\\n \\"VpnRouteCounts\\": [\\n {\\n \\"RouteEntryType\\": \\"bgp\\",\\n \\"RouteCount\\": 3,\\n \\"Source\\": \\"VPN_BGP\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 10\\n E18980E8-C8C2-31BD-8156-AE2BBDEC87E1\\n 1\\n \\n 192.168.10.0/24\\n vco-p0w2jpkhi2eeop6q6****\\n published\\n custom\\n 1658217008000\\n vco-p0w2jpkhi2eeop6q6****\\n 100\\n \\n","errorExample":""}]', + 'title' => '查询IPsec连接下路由条目的信息', + ], + 'CheckVpnBgpEnabled' => [ + 'summary' => '调用CheckVpnBgpEnabled接口查询IPsec连接所属的地域是否支持BGP功能。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DF448D2E-215D-334F-B10D-7C3B087EF996', + ], + 'BgpEnabled' => [ + 'description' => '当前地域是否支持BGP功能。'."\n" + ."\n" + .'- **true**:支持。'."\n" + .'- **false**:不支持。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DF448D2E-215D-334F-B10D-7C3B087EF996\\",\\n \\"BgpEnabled\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n DF448D2E-215D-334F-B10D-7C3B087EF996\\n true\\n","errorExample":""}]', + 'title' => '查询IPsec连接所属的地域是否支持BGP功能', + ], + 'DescribeVpnCrossAccountAuthorizations' => [ + 'summary' => '调用DescribeVpnCrossAccountAuthorizations接口查询IPsec连接的跨账号授权信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnConnectionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。默认值:**10**。取值范围:**1**~**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + '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****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DB04E39A-6F0C-36AC-BCA0-B6D371B90062', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'CrossAccountAuthorizations' => [ + 'description' => 'IPsec连接跨账号授权信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPsec连接跨账号授权信息。', + 'type' => 'object', + 'properties' => [ + 'VpnConnectionId' => [ + 'description' => 'IPsec连接ID。', + 'type' => 'string', + 'example' => 'vco-p0w2jpkhi2eeop6q6****', + ], + 'BindUid' => [ + 'description' => 'IPsec连接授权的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'BindProduct' => [ + 'description' => 'IPsec连接授权的资源类型。'."\n" + ."\n" + .'仅取值:**CEN**,表示IPsec连接向跨账号的云企业网实例授权,IPsec连接可被绑定至跨账号云企业网实例下的转发路由器实例。', + 'type' => 'string', + 'example' => 'CEN', + ], + 'BindInstance' => [ + 'description' => 'IPsec连接授权的云企业网实例ID。', + 'type' => 'string', + 'example' => 'cen-vv8h0t3klfpaae****', + ], + 'AliUid' => [ + 'description' => 'IPsec连接所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1250123456123456', + ], + 'CreationTime' => [ + 'description' => 'IPsec连接创建跨账号授权的时间戳。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建跨账号授权时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1658201810000', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DB04E39A-6F0C-36AC-BCA0-B6D371B90062\\",\\n \\"TotalCount\\": 1,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"CrossAccountAuthorizations\\": [\\n {\\n \\"VpnConnectionId\\": \\"vco-p0w2jpkhi2eeop6q6****\\",\\n \\"BindUid\\": 1210123456123456,\\n \\"BindProduct\\": \\"CEN\\",\\n \\"BindInstance\\": \\"cen-vv8h0t3klfpaae****\\",\\n \\"AliUid\\": 1250123456123456,\\n \\"CreationTime\\": 1658201810000\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n DB04E39A-6F0C-36AC-BCA0-B6D371B90062\\n 1\\n 1\\n 10\\n \\n vco-p0w2jpkhi2eeop6q6****\\n 1210123456123456\\n CEN\\n cen-vv8h0t3klfpaae****\\n 1250123456123456\\n 1658201810000\\n \\n","errorExample":""}]', + 'title' => '查询IPsec连接的跨账号授权信息', + ], + 'CreateSslVpnClientCert' => [ + 'summary' => '调用CreateSslVpnClientCert接口创建SSL-VPN客户端证书。', + '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" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SslVpnServerId', + 'in' => 'query', + 'schema' => [ + 'description' => ' SSL-VPN服务端的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vss-m5et0q3iy1qex328w****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端证书的名称。'."\n" + ."\n" + .'长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'SslVpnClientCert1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + 'Name' => [ + 'description' => 'SSL-VPN客户端证书的名称。', + 'type' => 'string', + 'example' => 'SslVpnClientCert', + ], + 'SslVpnClientCertId' => [ + 'description' => 'SSL-VPN客户端证书的ID。', + 'type' => 'string', + 'example' => 'vsc-m5euof6s5jy8vs5kd****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'SslVpnClientCreateTimes.ReachLimits', + 'errorMessage' => 'The number of client cert creation operations reaches the upper limit.', + ], + [ + 'errorCode' => 'CreateSslCertsQuotaFull.QuotaFull', + 'errorMessage' => 'Create the number of SSL certificates that exceed the quota limit.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSslVpnServerId.NotFound', + 'errorMessage' => 'The specified SSL VPN server id does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 1000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\",\\n \\"Name\\": \\"SslVpnClientCert\\",\\n \\"SslVpnClientCertId\\": \\"vsc-m5euof6s5jy8vs5kd****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n SslVpnClientCert\\n vsc-m5euof6s5jy8vs5kd****\\n","errorExample":""}]', + 'title' => '创建SSL-VPN客户端证书', + 'description' => '创建SSL-VPN客户端证书前,请确保VPN网关实例下已经创建了SSL-VPN服务端。具体操作,请参见[CreateSslVpnServer](~~2794075~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteSslVpnClientCert' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN客户端证书所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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-0016e04115b', + ], + ], + [ + 'name' => 'SslVpnClientCertId', + 'in' => 'query', + 'schema' => [ + 'description' => ' SSL-VPN客户端证书的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsc-bp1n8wcf134yl0osr****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidSslVpnClientCertId.NotFound', + 'errorMessage' => 'The specified SSL VPN client cert id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}"},{"type":"xml","example":"\\n\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n","errorExample":"\\n\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n"}]', + 'title' => '删除SSL-VPN客户端证书', + 'summary' => '调用DeleteSslVpnClientCert接口删除SSL-VPN客户端证书。', + 'description' => '- 删除SSL-VPN客户端证书会导致SSL服务端下所有客户端的SSL-VPN连接断开,如果客户端需要继续使用SSL-VPN连接,客户端需重新发起SSL-VPN连接。'."\n" + ."\n" + .' 例如SSL服务端下创建了SSL-VPN客户端证书1和SSL-VPN客户端证书2,在删除SSL-VPN客户端证书1后,SSL-VPN客户端证书1和SSL-VPN客户端证书2下关联的所有客户端都会断开SSL-VPN连接。'."\n" + ."\n" + .' - 如果SSL-VPN客户端证书1关联的客户端需要继续使用SSL-VPN连接,客户端需要安装其他证书然后重新发起SSL-VPN连接。'."\n" + ."\n" + .' - 如果SSL-VPN客户端证书2关联的客户端需要继续使用SSL-VPN连接,客户端重新发起SSL-VPN连接即可。'."\n" + .'- **DeleteSslVpnClientCert**接口属于异步接口,即系统返回一个请求ID,但该SSL-VPN客户端证书尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpnGateway](~~2794055~~)查询SSL-VPN服务端关联的VPN网关实例的状态,来确认SSL-VPN客户端证书的删除状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示SSL-VPN客户端证书正在删除中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示SSL-VPN客户端证书删除成功。'."\n" + .'- **DeleteSslVpnClientCert**接口不支持在同一VPN网关实例下并发删除SSL-VPN客户端证书。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySslVpnClientCert' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN客户端证书所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SslVpnClientCertId', + 'in' => 'query', + 'schema' => [ + 'description' => ' SSL-VPN客户端证书的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsc-bp1n8wcf134yl0osrc****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN客户端证书的新名称。该参数不能为空。'."\n" + ."\n" + .'长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'cert2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + 'Name' => [ + 'description' => 'SSL-VPN客户端证书的名称。', + 'type' => 'string', + 'example' => 'cert2', + ], + 'SslVpnClientCertId' => [ + 'description' => 'SSL-VPN客户端证书的ID。', + 'type' => 'string', + 'example' => 'vsc-bp1n8wcf134yl0osr****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidSslVpnClientCertId.NotFound', + 'errorMessage' => 'The specified SSL VPN client cert id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\",\\n \\"Name\\": \\"cert2\\",\\n \\"SslVpnClientCertId\\": \\"vsc-bp1n8wcf134yl0osr****\\"\\n}","errorExample":"{\\n \\"SslVpnClientCertId\\": \\"vsc-bp1n8wcf134yl0osrcg98\\",\\n \\"Name\\": \\"test\\",\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}"},{"type":"xml","example":"\\n\\n vsc-bp1n8wcf134yl0osr****\\n cert2\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n","errorExample":"\\n\\n vsc-bp1n8wcf134yl0osrcg98\\n test\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n"}]', + 'title' => '修改SSL-VPN客户端证书的名称', + 'summary' => '调用ModifySslVpnClientCert接口修改SSL-VPN客户端证书的名称。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSslVpnClientCerts' => [ + 'summary' => '调用DescribeSslVpnClientCerts接口查询已创建的SSL客户端证书。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的SSL客户端证书所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SslVpnServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL服务端ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vss-bp18q7hzj6largv4v****', + ], + ], + [ + 'name' => 'SslVpnClientCertId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL客户端证书ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsc-bp1n8wcf134yl0osr****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL客户端证书的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'cert1', + ], + ], + [ + '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' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL客户端证书所属的资源组ID。'."\n" + ."\n" + .'SSL客户端证书与其关联的SSL服务端的资源组相同。您可以调用[DescribeSslVpnServers](~~2794078~~)接口查询SSL服务端所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SslVpnClientCertKeys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SslVpnClientCertKey' => [ + 'description' => 'SSL客户端证书的信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'SSL客户端证书的信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '客户端证书的状态。'."\n" + ."\n" + .'- **expiring-soon**:证书将在1周后过期。'."\n" + .' '."\n" + .'- **normal**:正常。 '."\n" + ."\n" + .'- **expired**:已过期。 '."\n" + .' ', + 'type' => 'string', + 'example' => 'normal', + ], + 'EndTime' => [ + 'description' => 'SSL客户端证书的到期时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至SSL客户端证书到期时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1494966335000', + ], + 'CreateTime' => [ + 'description' => 'SSL客户端证书的创建时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建SSL客户端证书时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492747187000', + ], + 'SslVpnClientCertId' => [ + 'description' => 'SSL客户端证书的ID。', + 'type' => 'string', + 'example' => 'vsc-bp1n8wcf134yl0osr****', + ], + 'SslVpnServerId' => [ + 'description' => 'SSL服务端ID。', + 'type' => 'string', + 'example' => 'vss-bp18q7hzj6largv4v****', + ], + 'Name' => [ + 'description' => 'SSL客户端证书的名称。', + 'type' => 'string', + 'example' => 'cert1', + ], + 'RegionId' => [ + 'description' => 'SSL客户端证书的地域。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ResourceGroupId' => [ + 'description' => 'SSL客户端证书所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"SslVpnClientCertKeys\\": {\\n \\"SslVpnClientCertKey\\": [\\n {\\n \\"Status\\": \\"normal\\",\\n \\"EndTime\\": 1494966335000,\\n \\"CreateTime\\": 1492747187000,\\n \\"SslVpnClientCertId\\": \\"vsc-bp1n8wcf134yl0osr****\\",\\n \\"SslVpnServerId\\": \\"vss-bp18q7hzj6largv4v****\\",\\n \\"Name\\": \\"cert1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n 1\\n 1\\n \\n normal\\n 1494966335000\\n 1492747187000\\n vsc-bp1n8wcf134yl0osr****\\n vss-bp18q7hzj6largv4v****\\n cert1\\n cn-hangzhou\\n \\n","errorExample":""}]', + 'title' => '查询已创建的SSL-VPN客户端证书', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSslVpnClientCert' => [ + 'summary' => '调用DescribeSslVpnClientCert接口查询指定的SSL客户端证书信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的SSL客户端证书所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SslVpnClientCertId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的SSL客户端证书的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsc-bp17r58rjf5r1gjyr****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'SSL客户端证书的状态。'."\n" + ."\n" + .'- **expiring-soon**:证书将在1周后过期。'."\n" + ."\n" + .'- **normal**:正常。 '."\n" + ."\n" + .'- **expired**:已过期。', + 'type' => 'string', + 'example' => 'normal', + ], + 'CreateTime' => [ + 'description' => 'SSL客户端证书的创建时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建SSL客户端证书时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1552550980000', + ], + 'ClientKey' => [ + 'description' => '客户端密钥。', + 'type' => 'string', + 'example' => '-----BEGIN RSA PRIVATE KEY-----'."\n" + .'MIIEpAI****ZzNFhuM/za=='."\n" + .'-----END RSA PRIVATE KEY-----', + ], + 'RegionId' => [ + 'description' => 'SSL客户端证书所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ClientConfig' => [ + 'description' => '客户端配置。', + 'type' => 'string', + 'example' => 'client'."\n" + .'dev tun'."\n" + .'proto tcp'."\n" + .'remote 120.XX.XX.33 1194'."\n" + .'resolv-retry infinite'."\n" + .'nobind'."\n" + .'persist-key'."\n" + .'persist-tun'."\n" + .'ca ca.crt'."\n" + .'cert vsc-bp15t7****.crt'."\n" + .'key vsc-bp15t7****.key'."\n" + .'cipher AES-128-CBC'."\n" + .';comp-lzo'."\n" + .'verb 4', + ], + 'EndTime' => [ + 'description' => 'SSL客户端证书的到期时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至SSL客户端证书到期时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1647158980000', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + 'ClientCert' => [ + 'description' => '客户端证书。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIIDR****A=='."\n" + .'-----END CERTIFICATE-----', + ], + 'CaCert' => [ + 'description' => 'CA证书。', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIID****r4w='."\n" + .'-----END CERTIFICATE-----', + ], + 'SslVpnClientCertId' => [ + 'description' => 'SSL客户端证书的ID。', + 'type' => 'string', + 'example' => 'vsc-bp13k5mp4tg8v3z9b****', + ], + 'SslVpnServerId' => [ + 'description' => 'SSL服务端ID。', + 'type' => 'string', + 'example' => 'vss-bp155e9yclsg1xgq4****', + ], + 'Name' => [ + 'description' => 'SSL客户端证书的名称。', + 'type' => 'string', + 'example' => 'nametest', + ], + 'ResourceGroupId' => [ + 'description' => 'SSL客户端证书所属的资源组ID。'."\n" + ."\n" + .'SSL客户端证书与其关联的SSL服务端的资源组相同。您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId is not found.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"normal\\",\\n \\"CreateTime\\": 1552550980000,\\n \\"ClientKey\\": \\"-----BEGIN RSA PRIVATE KEY-----\\\\nMIIEpAI****ZzNFhuM/za==\\\\n-----END RSA PRIVATE KEY-----\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ClientConfig\\": \\"client\\\\ndev tun\\\\nproto tcp\\\\nremote 120.XX.XX.33 1194\\\\nresolv-retry infinite\\\\nnobind\\\\npersist-key\\\\npersist-tun\\\\nca ca.crt\\\\ncert vsc-bp15t7****.crt\\\\nkey vsc-bp15t7****.key\\\\ncipher AES-128-CBC\\\\n;comp-lzo\\\\nverb 4\\",\\n \\"EndTime\\": 1647158980000,\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\",\\n \\"ClientCert\\": \\"-----BEGIN CERTIFICATE-----\\\\nMIIDR****A==\\\\n-----END CERTIFICATE-----\\",\\n \\"CaCert\\": \\"-----BEGIN CERTIFICATE-----\\\\nMIID****r4w=\\\\n-----END CERTIFICATE-----\\",\\n \\"SslVpnClientCertId\\": \\"vsc-bp13k5mp4tg8v3z9b****\\",\\n \\"SslVpnServerId\\": \\"vss-bp155e9yclsg1xgq4****\\",\\n \\"Name\\": \\"nametest\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n normal\\n 1552550980000\\n 客户端密钥\\n cn-hangzhou\\n 客户端配置\\n 1647158980000\\n 5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\n 客户端证书\\n CA证书\\n vsc-bp13k5mp4tg8v3z9b****\\n vss-bp155e9yclsg1xgq4****\\n nametest\\n","errorExample":""}]', + 'title' => '查询指定的SSL客户端证书信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSslVpnClients' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'eu-central-1', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpn-gw8gfb947ctddabja****', + ], + ], + [ + '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' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '885E117D-06A9-38A3-8DD2-40BDAC429FFC', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-gw8gfb947ctddabja****', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页可显示的最大条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => 'VPN网关实例所属的地域ID。', + 'type' => 'string', + 'example' => 'eu-central-1', + ], + 'ClientInfoList' => [ + 'description' => '客户端信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '客户端信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'SSL-VPN连接的状态。'."\n" + ."\n" + .'取值:**online**,表示客户端和阿里云已成功建立SSL-VPN连接。', + 'type' => 'string', + 'example' => 'online', + ], + 'PrivateIp' => [ + 'description' => '客户端与阿里云建立SSL-VPN连接时,VPN网关为客户端分配的私网IP地址。', + 'type' => 'string', + 'example' => '10.10.10.10', + ], + 'SendBytes' => [ + 'description' => '指VPN网关通过SSL-VPN连接向客户端发送的流量。单位:Byte。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '57144', + ], + 'ConnectedTime' => [ + 'description' => '客户端与阿里云建立SSL-VPN连接时的时间戳。单位:毫秒。'."\n" + ."\n" + .'时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至建立SSL-VPN连接时的总时长。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1670985008000', + ], + 'CommonName' => [ + 'description' => '客户端与阿里云建立SSL-VPN连接时,使用的SSL客户端证书。'."\n" + ."\n" + .'> 如果客户端使用双因子认证功能与阿里云建立SSL-VPN连接,则当前参数的返回值为客户端的用户名。', + 'type' => 'string', + 'example' => 'CN=vsc-gw8gkh6gtilf1whgc****', + ], + 'Ip' => [ + 'description' => '客户端与阿里云建立SSL-VPN连接时,客户端实际使用的公网IP地址。', + 'type' => 'string', + 'example' => '8.XX.XX.15', + ], + 'ReceiveBytes' => [ + 'description' => '指VPN网关通过SSL-VPN连接从客户端接收的流量。单位:Byte。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '60782', + ], + 'Port' => [ + 'description' => '客户端与阿里云建立SSL-VPN连接时,客户端实际使用的端口号。', + 'type' => 'string', + 'example' => '4****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instance id does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"885E117D-06A9-38A3-8DD2-40BDAC429FFC\\",\\n \\"VpnGatewayId\\": \\"vpn-gw8gfb947ctddabja****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"RegionId\\": \\"eu-central-1\\",\\n \\"ClientInfoList\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"PrivateIp\\": \\"10.10.10.10\\",\\n \\"SendBytes\\": 57144,\\n \\"ConnectedTime\\": 1670985008000,\\n \\"CommonName\\": \\"CN=vsc-gw8gkh6gtilf1whgc****\\",\\n \\"Ip\\": \\"8.XX.XX.15\\",\\n \\"ReceiveBytes\\": 60782,\\n \\"Port\\": \\"4****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 885E117D-06A9-38A3-8DD2-40BDAC429FFC\\n 10\\n vpn-gw8gfb947ctddabja****\\n 1\\n eu-central-1\\n \\n online\\n 57144\\n 10.10.10.10\\n 8.XX.XX.15\\n 4****\\n 1670985008000\\n CN=vsc-gw8gkh6gtilf1whgc****\\n 60782\\n \\n","errorExample":""}]', + 'title' => '查询SSL-VPN连接的客户端的信息', + 'summary' => '调用DescribeSslVpnClients接口查询指定VPN网关实例下已与阿里云建立SSL-VPN连接的客户端的信息。', + 'description' => '如果您的VPN网关实例是在2022年12月10日之前创建的,则您需要将VPN网关实例升级至最新版才能查看SSL客户端的连接信息。具体操作,请参见[升级VPN网关](~~2671058~~)。'."\n" + ."\n" + .'2022年12月10日之后创建的VPN网关实例默认支持查看SSL客户端的连接信息。', + ], + 'CreateSslVpnServer' => [ + 'summary' => '调用CreateSslVpnServer接口创建SSL-VPN服务端。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the VPN gateway.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the VPN gateway.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp1hgim8by0kc9nga****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The SSL server name.'."\n" + ."\n" + .'The name must be 1 to 100 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sslvpnname', + ], + ], + [ + 'name' => 'ClientIpPool', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client CIDR block.'."\n" + ."\n" + .'The CIDR block from which an IP address is allocated to the virtual network interface controller (NIC) of the client, rather than the private CIDR block.'."\n" + ."\n" + .'If the client accesses the SSL server over an SSL-VPN connection, the VPN gateway assigns an IP address from the specified client CIDR block for the client to access cloud resources.'."\n" + ."\n" + .'Make sure that the number of IP addresses in the client CIDR block is at least four times the maximum number of SSL-VPN connections supported by the VPN gateway.'."\n" + ."\n" + .'
'."\n" + .'Click to view the reason.'."\n" + ."\n" + .'For example, if you specify 192.168.0.0/24 as the client CIDR block, the system first divides a subnet CIDR block with a subnet mask of 30 from 192.168.0.0/24, such as 192.168.0.4/30. This subnet provides up to four IP addresses. Then, the system allocates an IP address from 192.168.0.4/30 to the client and uses the other three IP addresses to ensure network communication. In this case, one client consumes four IP addresses. Therefore, to ensure that an IP address is assigned to your client, the number of IP addresses in the client CIDR block must be at least four times the maximum number of SSL-VPN connections supported by the VPN gateway with which the SSL server is associated.'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'Click to view the CIDR blocks that are not supported.'."\n" + ."\n" + .'* 100.64.0.0~100.127.255.255'."\n" + .'* 127.0.0.0~127.255.255.255'."\n" + .'* 169.254.0.0~169.254.255.255'."\n" + .'* 224.0.0.0~239.255.255.255'."\n" + .'* 255.0.0.0~255.255.255.255'."\n" + .'
'."\n" + .'
'."\n" + .'Click to view the recommended client CIDR blocks for different numbers of SSL-VPN connections.'."\n" + ."\n\n" + .'* If the number of SSL-VPN connections is 5, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 27 bits in length. Examples: 10.0.0.0/27 and 10.0.0.0/26.'."\n" + .'* If the number of SSL-VPN connections is 10, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 26 bits in length. Examples: 10.0.0.0/26 and 10.0.0.0/25.'."\n" + .'* If the number of SSL-VPN connections is 20, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 25 bits in length. Examples: 10.0.0.0/25 and 10.0.0.0/24.'."\n" + .'* If the number of SSL-VPN connections is 50, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 24 bits in length. Examples: 10.0.0.0/24 and 10.0.0.0/23.'."\n" + .'* If the number of SSL-VPN connections is 100, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 23 bits in length. Examples: 10.0.0.0/23 and 10.0.0.0/22.'."\n" + .'* If the number of SSL-VPN connections is 200, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 22 bits in length. Examples: 10.0.0.0/22 and 10.0.0.0/21.'."\n" + .'* If the number of SSL-VPN connections is 500, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 21 bits in length. Examples: 10.0.0.0/21 and 10.0.0.0/20.'."\n" + .'* If the number of SSL-VPN connections is 1,000, we recommend that you specify a client CIDR block with a subnet mask that is less than or equal to 20 bits in length. Examples: 10.0.0.0/20 and 10.0.0.0/19.'."\n" + .'
'."\n" + ."\n" + .'> - The subnet mask of the client CIDR block must be 16 to 29 bits in length.'."\n" + .'> - Make sure that the client CIDR block does not overlap with the local CIDR block, the VPC CIDR block, or route CIDR blocks associated with the client.'."\n" + .'> - We recommend that you use 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, or one of their subnets as the client CIDR block. If you want to specify a public CIDR block as the client CIDR block, you must specify the public CIDR block as the user CIDR block of the virtual private cloud (VPC). This way, the VPC can access the public CIDR block. For more information, see [VPC FAQs](~~185311~~).'."\n" + .'> - After you create an SSL server, the system automatically adds routes that point to the client CIDR block to the VPC route table. Do not manually add routes that point to the client CIDR block. Otherwise, SSL-VPN connections cannot work as expected.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.1.0/24', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => 'The local CIDR block.'."\n" + ."\n" + .'The CIDR block that your client needs to access by using the SSL-VPN connection.'."\n" + ."\n" + .'This value can be the CIDR block of a VPC, a vSwitch, a data center that is connected to a VPC by using an Express Connect circuit, or an Alibaba Cloud service such as Object Storage Service (OSS).'."\n" + ."\n" + .'The subnet mask of the specified local CIDR block must be 8 to 32 bits in length. You cannot specify the following CIDR blocks as the local CIDR blocks:'."\n" + ."\n" + .'* 127.0.0.0~127.255.255.255'."\n" + .'* 169.254.0.0~169.254.255.255'."\n" + .'* 224.0.0.0~239.255.255.255'."\n" + .'* 255.0.0.0~255.255.255.255'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Proto', + 'in' => 'query', + 'schema' => [ + 'description' => 'The protocol that is used by the SSL server. Valid values:'."\n" + ."\n" + .'* **TCP** (default)'."\n" + .'* **UDP**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'UDP', + ], + ], + [ + 'name' => 'Cipher', + 'in' => 'query', + 'schema' => [ + 'description' => 'The encryption algorithm that is used by the SSL-VPN connection.'."\n" + ."\n" + .'* If the client uses Tunnelblick or OpenVPN 2.4.0 or later, the SSL server dynamically negotiates with the client about the encryption algorithm and uses the most secure encryption algorithm that is supported by the SSL server and the client. The encryption algorithm that you specify for the SSL server does not take effect.'."\n" + ."\n" + .'* If the client uses OpenVPN of a version that is earlier than 2.4.0, the SSL server and the client use the encryption algorithm that you specify for the SSL server. You can specify one of the following encryption algorithms for the SSL server:'."\n" + ."\n" + .' * **AES-128-CBC** (default)'."\n" + .' * **AES-192-CBC**'."\n" + .' * **AES-256-CBC**'."\n" + .' * **none**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AES-128-CBC', + ], + ], + [ + 'name' => 'Port', + 'in' => 'query', + 'schema' => [ + 'description' => 'The port that is used by the SSL server. Valid values of port numbers: **1** to **65535**. Default value: **1194**.'."\n" + ."\n" + .'The following ports are not supported: **22**, **2222**, **22222**, **9000**, **9001**, **9002**, **7505**, **80**, **443**, **53**, **68**, **123**, **4510**, **4560**, **500**, and **4500**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1194', + ], + ], + [ + 'name' => 'Compress', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable data compression. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EnableMultiFactorAuth', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable two-factor authentication. To enable two-factor authentication, you need to specify `IDaaSInstanceId`, `IDaaSRegionId`, and `IDaaSApplicationId`. Valid values:'."\n" + ."\n" + .'* **true**: enables this feature.'."\n" + .'* **false** (default): disables this feature.'."\n" + ."\n" + .'> - If you use two-factor authentication for the first time, you must first complete [authorization](https://ram.console.aliyun.com/role/authorization?request=%7B%22Services%22%3A%5B%7B%22Service%22%3A%22VPN%22%2C%22Roles%22%3A%5B%7B%22RoleName%22%3A%22AliyunVpnAccessingIdaasRole%22%2C%22TemplateId%22%3A%22IdaasRole%22%7D%5D%7D%5D%2C%22ReturnUrl%22%3A%22https%3A%2F%2Fvpc.console.aliyun.com%2Fsslvpn%2Fcn-shanghai%2Fvpn-servers%22%7D).'."\n" + .'> - When you create an SSL server in the UAE (Dubai) region, we recommend that you associate the SSL server with an IDaaS EIAM 2.0 instance in Singapore to reduce latency.'."\n" + .'> - IDaaS EIAM 1.0 instances are no longer for purchase. If your Alibaba Cloud account has IDaaS EIAM 1.0 instances, the IDaaS EIAM 1.0 instances can be associated after two-factor authentication is enabled. If your Alibaba Cloud account does not have IDaaS EIAM 1.0 instances, only IDaaS EIAM 2.0 instances can be associated after two-factor authentication is enabled.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IDaaSInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the IDaaS EIAM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'idaas-cn-hangzhou-p****', + ], + ], + [ + 'name' => 'IDaaSRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the IDaaS EIAM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IDaaSApplicationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the IDaaS application.'."\n" + ."\n" + .'* If an IDaaS EIAM 2.0 instance is associated, you need to specify an IDaaS application ID.'."\n" + .'* If an IDaaS EIAM 1.0 instance is associated, you do not need to specify an IDaaS application ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app_my6g4qmvnwxzj2f****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'SslVpnServerId' => [ + 'description' => 'The ID of the SSL server.'."\n", + 'type' => 'string', + 'example' => 'vss-bp18q7hzj6largv4v****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'E98A9651-7098-40C7-8F85-C818D1EBBA85', + ], + 'Name' => [ + 'description' => 'The SSL server name.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'SslVpnServer.AlreadyExist', + 'errorMessage' => 'The SSL VPN server of specified vpn gateway already exists.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'IpConflict', + 'errorMessage' => 'Client IP pool conflict with local IP range.', + ], + [ + 'errorCode' => 'SslVpnServer.AddRouteError', + 'errorMessage' => 'Add route error whose destination is client IP pool, please check vpc route entry and relevant quota.', + ], + [ + 'errorCode' => 'ClientIpPool.NetmaskInvalid', + 'errorMessage' => 'The netmask length of client IP pool must be greater than or equal to 16 and less than or equal to 29.', + ], + [ + 'errorCode' => 'ClientIpPool.SubnetInvalid', + 'errorMessage' => 'The specified client IP pool cannot be used.', + ], + [ + 'errorCode' => 'MissingParameter.IDaaSInstanceId', + 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'OperationFailed.NoRamPermission', + 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', + ], + [ + 'errorCode' => 'OperationUnsupported.NotSupportMultiFactorAuth', + 'errorMessage' => 'Current version of the VPN does not support multi-factor authentication.', + ], + [ + 'errorCode' => 'QuotaExceeded.VpnRouteEntry', + 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'The system is busy. Please try again later.', + ], + [ + 'errorCode' => 'SslVpnServerPort.Illegal', + 'errorMessage' => 'The server port is not in the range of [1-65535].', + ], + [ + 'errorCode' => 'EnableHaCheck.SslVpnServerClientCidrContainsVpcRouteDest', + 'errorMessage' => 'Ssl vpn client cidr contains vpc route prefix. The vpc route prefix is %s.', + ], + [ + 'errorCode' => 'VpnGateway.SslVpnDisabled', + 'errorMessage' => 'The VPN gateway has not enabled SSL VPN.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.IDaaSApplicationId', + 'errorMessage' => 'The specified IDaaS application Id is not illegal, the application instance needs to be created based on the dedicated SSL VPN template.', + ], + [ + 'errorCode' => 'SslVpnIDaaS2.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support IDaaS2.0.', + ], + [ + 'errorCode' => 'MissingParam.IDaaSApplicationId', + 'errorMessage' => 'The input parameter IDaaSApplicationId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'MissingParam.IDaaSRegionId', + 'errorMessage' => 'The input parameter IDaaSRegionId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidIDaaSInstanceId.NotFound', + 'errorMessage' => 'The specified IDaaS instance ID does not exist.', + ], + [ + 'errorCode' => 'InvalidIDaaSApplicationId.NotFound', + 'errorMessage' => 'The specified IDaaS application Id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 60, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SslVpnServerId\\": \\"vss-bp18q7hzj6largv4v****\\",\\n \\"RequestId\\": \\"E98A9651-7098-40C7-8F85-C818D1EBBA85\\",\\n \\"Name\\": \\"test\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"E98A9651-7098-40C7-8F85-C818D1EBBA85\\",\\n \\"SslVpnServerId\\": \\"vss-bp18q7hzj6largv4vk2fe\\",\\n \\"Name\\": \\"test\\"\\n}"},{"type":"xml","example":"\\n E98A9651-7098-40C7-8F85-C818D1EBBA85\\n vss-bp18q7hzj6largv4v****\\n test\\n","errorExample":"\\n\\n E98A9651-7098-40C7-8F85-C818D1EBBA85\\n vss-bp18q7hzj6largv4vk2fe\\n test\\n"}]', + 'title' => '创建SSL-VPN服务端', + 'description' => '* **CreateSslVpnServer** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeVpnGateway](~~2794055~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the VPN gateway is in the **updating** state, the SSL server is being created.'."\n" + .' * If the VPN gateway is in the **active** state, the SSL server is created.'."\n" + ."\n" + .'* You cannot repeatedly call the **CreateSslVpnServer** operation within the specified period of time.'."\n" + ."\n" + .'### [](#)Prerequisite'."\n" + ."\n" + .'* A VPN gateway is created, and the SSL-VPN feature is enabled for the VPN gateway. For more information, see [CreateVpnGateway](~~2794049~~).'."\n" + .'* If you want to enable two-factor authentication for the SSL server, make sure that the VPN gateway supports two-factor authentication. You may need to upgrade the VPN gateway. For more information, see [Two-factor authentication supports IDaaS EIAM 2.0](~~2785320~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteSslVpnServer' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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-0016e04115b', + ], + ], + [ + 'name' => 'SslVpnServerId', + 'in' => 'query', + 'schema' => [ + 'description' => ' SSL-VPN服务端的ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vss-bp18q7hzj6largv4v****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidSslVpnServerId.NotFound', + 'errorMessage' => 'The specified SSL VPN server id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}"},{"type":"xml","example":"\\n\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n","errorExample":"\\n\\n 606998F0-B94D-48FE-8316-ACA81BB230DA\\n"}]', + 'title' => '删除SSL-VPN服务端', + 'summary' => '调用DeleteSslVpnServer接口删除SSL-VPN服务端,删除SSL-VPN服务端后系统会自动删除SSL-VPN服务端关联的所有SSL客户端证书,安装了这些SSL客户端证书的客户端将会自动断开SSL-VPN连接。', + 'description' => '- **DeleteSslVpnServer**接口属于异步接口,即系统先返回一个请求ID,但该SSL-VPN服务端实例尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpnGateway](~~2794055~~)查询VPN网关实例的状态,来确定SSL-VPN服务端实例的删除状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示SSL-VPN服务端实例正在删除中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示SSL-VPN服务端实例删除成功。'."\n" + .'- **DeleteSslVpnServer**接口不支持在同一VPN网关下并发删除SSL-VPN服务端实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySslVpnServer' => [ + 'summary' => '调用ModifySslVpnServer接口修改SSL-VPN服务端的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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-0016e04115b', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SslVpnServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vss-bp18q7hzj6largv4v****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端的名称。 '."\n" + ."\n" + .'长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ClientIpPool', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端网段。'."\n" + ."\n" + .'是给客户端虚拟网卡分配访问地址的地址段,不是指客户端已有的内网网段。'."\n" + ."\n" + .'当客户端通过SSL-VPN连接访问本端时,VPN网关会从指定的客户端网段中分配一个IP地址给客户端使用,客户端将会使用分配的IP地址访问云上资源。'."\n" + ."\n" + .'在您指定客户端网段时需保证客户端网段所包含的IP地址个数是当前VPN网关SSL连接数的4倍及以上。'."\n" + .'
'."\n" + .'单击查看原因。'."\n" + .'例如您指定的客户端网段为192.168.0.0/24,系统在为客户端分配IP地址时,会先从192.168.0.0/24网段中划分出一个子网掩码为30的子网段,例如192.168.0.4/30,然后从192.168.0.4/30中分配一个IP地址供客户端使用,剩余三个IP地址会被系统占用以保证网络通信,此时一个客户端会耗费4个IP地址。因此,为保证您的客户端均能分配到IP地址,请确保您指定的客户端网段所包含的IP地址个数是VPN网关SSL连接数的4倍及以上。'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'单击查看不支持配置的网段。'."\n" + ."\n" + .'- 100.64.0.0~100.127.255.255'."\n" + .'- 127.0.0.0~127.255.255.255'."\n" + .'- 169.254.0.0~169.254.255.255'."\n" + .'- 224.0.0.0~239.255.255.255'."\n" + .'- 255.0.0.0~255.255.255.255'."\n" + ."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'单击查看每个SSL连接数建议的客户端网段。'."\n" + ."\n" + .'- 若SSL连接数为5,则客户端网段的子网掩码位数建议小于或等于27。例如:10.0.0.0/27、10.0.0.0/26。'."\n" + .'- 若SSL连接数为10,则客户端网段的子网掩码位数建议小于或等于26。例如:10.0.0.0/26、10.0.0.0/25。'."\n" + .'- 若SSL连接数为20,则客户端网段的子网掩码位数建议小于或等于25。例如:10.0.0.0/25、10.0.0.0/24。'."\n" + .'- 若SSL连接数为50,则客户端网段的子网掩码位数建议小于或等于24。例如:10.0.0.0/24、10.0.0.0/23。'."\n" + .'- 若SSL连接数为100,则客户端网段的子网掩码位数建议小于或等于23。例如:10.0.0.0/23、10.0.0.0/22。'."\n" + .'- 若SSL连接数为200,则客户端网段的子网掩码位数建议小于或等于22。例如:10.0.0.0/22、10.0.0.0/21。'."\n" + .'- 若SSL连接数为500,则客户端网段的子网掩码位数建议小于或等于21。例如:10.0.0.0/21、10.0.0.0/20。'."\n" + .'- 若SSL连接数为1000,则客户端网段的子网掩码位数建议小于或等于20。例如:10.0.0.0/20、10.0.0.0/19。'."\n" + ."\n" + .'
'."\n" + ."\n" + .'> - 客户端网段的子网掩码位数在16至29位之间。'."\n" + .'> - 请确保客户端网段与本端网段、VPC网段以及与客户端终端关联的任何路由网段均没有重叠。'."\n" + .'> - 在指定客户端网段时,建议您使用10.0.0.0/8、172.16.0.0/12和192.168.0.0/16网段及其子网网段。如果您的客户端网段需要指定为公网网段,您需要将公网网段设置为VPC的用户网段,以确保VPC可以访问到该公网网段。关于用户网段的更多信息,请参见[专有网络FAQ](~~185311~~)。'."\n" + .'> - 创建SSL服务端后,系统后台会自动将客户端网段的路由添加在VPC实例的路由表中,请勿再手动将客户端网段的路由添加到VPC实例的路由表,否则会导致SSL-VPN连接流量传输异常。', + 'type' => 'string', + 'required' => false, + 'example' => '10.30.30.0/24', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '本端网段。'."\n" + ."\n" + .'是客户端通过SSL-VPN连接要访问的地址段。'."\n" + ."\n" + .'本端网段可以是VPC的网段、交换机的网段、通过专线和VPC互连的IDC的网段、云服务如对象存储服务OSS(Object Storage Service)等的网段。'."\n" + ."\n" + .'本端网段的子网掩码位数在8至32位之间。以下网段不支持指定为本端网段:'."\n" + ."\n" + .'- 127.0.0.0~127.255.255.255'."\n" + .'- 169.254.0.0~169.254.255.255'."\n" + .'- 224.0.0.0~239.255.255.255'."\n" + .'- 255.0.0.0~255.255.255.255', + 'type' => 'string', + 'required' => false, + 'example' => '10.20.20.0/24', + ], + ], + [ + 'name' => 'Proto', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端所使用的协议,取值:'."\n" + ."\n" + .'- **TCP**(默认值):TCP协议。'."\n" + ."\n" + .'- **UDP**:UDP协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'UDP', + ], + ], + [ + 'name' => 'Cipher', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN使用的加密算法,取值: '."\n" + ."\n" + .'- **AES-128-CBC**(默认值):AES-128-CBC算法。'."\n" + ."\n" + .'- **AES-192-CBC**:AES-192-CBC算法。'."\n" + ."\n" + .'- **AES-256-CBC**:AES-256-CBC算法。'."\n" + ."\n" + .'- **none**:不使用加密算法。', + 'type' => 'string', + 'required' => false, + 'example' => 'AES-128-CBC', + ], + ], + [ + 'name' => 'Port', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端所使用的端口。端口取值范围:**1**~**65535**。默认值:**1194**。'."\n" + ."\n" + .'不支持使用以下端口:**22**、**2222**、**22222**、**9000**、**9001**、**9002**、**7505**、**80**、**443**、**53**、**68**、**123**、**4510**、**4560**、**500**、**4500**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1194', + ], + ], + [ + 'name' => 'Compress', + 'in' => 'query', + 'schema' => [ + 'description' => '指定是否对通信进行压缩, 取值:'."\n" + ."\n" + .'- **true**(默认值):对通信进行压缩。'."\n" + ."\n" + .'- **false**:对通信不进行压缩。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableMultiFactorAuth', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启双因子认证。如果您选择开启双因子认证功能,您还需要配置**IDaaSInstanceId**、**IDaaSRegionId**和**IDaaSApplicationId**。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:不开启。'."\n" + ."\n" + .'>- 如果您是首次使用双因子认证功能,请先完成[授权](https://ram.console.aliyun.com/role/authorization?request=%7B%22Services%22%3A%5B%7B%22Service%22%3A%22VPN%22%2C%22Roles%22%3A%5B%7B%22RoleName%22%3A%22AliyunVpnAccessingIdaasRole%22%2C%22TemplateId%22%3A%22IdaasRole%22%7D%5D%7D%5D%2C%22ReturnUrl%22%3A%22https%3A%2F%2Fvpc.console.aliyun.com%2Fsslvpn%2Fcn-shanghai%2Fvpn-servers%22%7D)后再创建SSL服务端。'."\n" + .'>- 在阿联酋(迪拜)地域创建SSL服务端时,推荐您绑定新加坡地域的IDaaS EIAM 2.0实例,以减少跨地域时延。'."\n" + .'>- IDaaS EIAM 1.0实例不再支持新购。如果您的阿里云账号下存在IDaaS EIAM 1.0实例,开启双因子认证功能后,依旧支持绑定IDaaS EIAM 1.0实例。如果您的阿里云账号下不存在IDaaS EIAM 1.0实例,开启双因子认证功能后,仅支持绑定IDaaS EIAM 2.0实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IDaaSInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IDaaS EIAM实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'idaas-cn-hangzhou-****', + ], + ], + [ + 'name' => 'IDaaSRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IDaaS EIAM实例所属地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IDaaSApplicationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IDaaS应用ID。'."\n" + ."\n" + .'- 如果您绑定的是IDaaS EIAM 2.0实例,需输入IDaaS应用ID。'."\n" + .'- 如果您绑定的是IDaaS EIAM 1.0实例,无需输入IDaaS应用ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'app_my6g4qmvnwxzj2f****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改SSL服务端配置。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'InternetIp' => [ + 'description' => '公网IP。', + 'type' => 'string', + 'example' => '47.98.XX.XX', + ], + 'IDaaSInstanceId' => [ + 'description' => 'IDaaS EIAM实例ID。', + 'type' => 'string', + 'example' => 'idaas-cn-hangzhou-****', + ], + 'CreateTime' => [ + 'description' => 'SSL-VPN服务端的创建时间。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1492753580000', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + 'Compress' => [ + 'description' => '是否压缩通信。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Port' => [ + 'description' => 'SSL-VPN服务端的端口。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1194', + ], + 'LocalSubnet' => [ + 'description' => '本端网段。', + 'type' => 'string', + 'example' => '10.20.20.0/24', + ], + 'RegionId' => [ + 'description' => 'SSL-VPN服务端的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Cipher' => [ + 'description' => '使用的加密算法。', + 'type' => 'string', + 'example' => 'AES-128-CBC', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DF11D6F6-E35A-41C3-9B20-6FC8A901FE65', + ], + 'Connections' => [ + 'description' => '当前连接数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'SslVpnServerId' => [ + 'description' => 'SSL-VPN服务端的ID。', + 'type' => 'string', + 'example' => 'vss-bp18q7hzj6largv4v****', + ], + 'MaxConnections' => [ + 'description' => '最大连接数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Name' => [ + 'description' => 'SSL-VPN服务端的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'EnableMultiFactorAuth' => [ + 'description' => '是否开启了双因子认证。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**(默认值):未开启。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ClientIpPool' => [ + 'description' => '客户端网段。', + 'type' => 'string', + 'example' => '10.30.30.0/24', + ], + 'Proto' => [ + 'description' => 'SSL-VPN服务端使用的协议。', + 'type' => 'string', + 'example' => 'UDP', + ], + 'ResourceGroupId' => [ + 'description' => 'SSL-VPN服务端所属的资源组ID。'."\n" + ."\n" + .'SSL-VPN服务端与其关联的VPN网关实例的资源组相同。您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + 'IDaaSApplicationId' => [ + 'description' => 'IDaaS应用ID。', + 'type' => 'string', + 'example' => 'app_my6g4qmvnwxzj2f****', + ], + 'IDaaSInstanceVersion' => [ + 'description' => 'IDaaS EIAM实例的版本。'."\n" + ."\n" + .'- 仅当SSL服务端绑定的是IDaaS EIAM 2.0实例,系统才会返回该参数。仅取值:**EIAM 2.0**。'."\n" + .'- 如果SSL服务端绑定的是IDaaS EIAM 1.0实例,系统不会返回该参数。', + 'type' => 'string', + 'example' => 'EIAM 2.0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The name is not valid', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'IpConflict', + 'errorMessage' => 'Client IP pool conflict with local IP range.', + ], + [ + 'errorCode' => 'SslVpnServer.AddRouteError', + 'errorMessage' => 'Add route error whose destination is client IP pool, please check vpc route entry and relevant quota.', + ], + [ + 'errorCode' => 'ClientIpPool.NetmaskInvalid', + 'errorMessage' => 'The netmask length of client IP pool must be greater than or equal to 16 and less than or equal to 29.', + ], + [ + 'errorCode' => 'ClientIpPool.SubnetInvalid', + 'errorMessage' => 'The specified client IP pool cannot be used.', + ], + [ + 'errorCode' => 'MissingParameter.IDaaSInstanceId', + 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'OperationFailed.GetIDaaSInfo', + 'errorMessage' => 'Failed to get secret key from your IDaaS instance.', + ], + [ + 'errorCode' => 'OperationFailed.NoRamPermission', + 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', + ], + [ + 'errorCode' => 'OperationUnsupported.NotSupportMultiFactorAuth', + 'errorMessage' => 'Current version of the VPN does not support multi-factor authentication.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'The system is busy. Please try again later.', + ], + [ + 'errorCode' => 'SslVpnServerPort.Illegal', + 'errorMessage' => 'The server port is not in the range of [1-65535].', + ], + [ + 'errorCode' => 'EnableHaCheck.SslVpnServerClientCidrContainsVpcRouteDest', + 'errorMessage' => 'Ssl vpn client cidr contains vpc route prefix. The vpc route prefix is %s.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'InstanceId is not found.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified route entry has conflict.', + ], + [ + 'errorCode' => 'IllegalParam.IDaaSApplicationId', + 'errorMessage' => 'The specified IDaaS application Id is not illegal, the application instance needs to be created based on the dedicated SSL VPN template.', + ], + [ + 'errorCode' => 'MissingParam.IDaaSApplicationId', + 'errorMessage' => 'The input parameter IDaaSApplicationId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'SslVpnIDaaS2.NotSupport', + 'errorMessage' => 'Current version of the VPN does not support IDaaS2.0.', + ], + [ + 'errorCode' => 'MissingParam.IDaaSRegionId', + 'errorMessage' => 'The input parameter IDaaSRegionId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidIDaaSInstanceId.NotFound', + 'errorMessage' => 'The specified IDaaS instance ID does not exist.', + ], + [ + 'errorCode' => 'InvalidIDaaSApplicationId.NotFound', + 'errorMessage' => 'The specified IDaaS application Id does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 60, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"InternetIp\\": \\"47.98.XX.XX\\",\\n \\"IDaaSInstanceId\\": \\"idaas-cn-hangzhou-****\\",\\n \\"CreateTime\\": 1492753580000,\\n \\"VpnGatewayId\\": \\"vpn-bp1q8bgx4xnkm2ogj****\\",\\n \\"Compress\\": false,\\n \\"Port\\": 1194,\\n \\"LocalSubnet\\": \\"10.20.20.0/24\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Cipher\\": \\"AES-128-CBC\\",\\n \\"RequestId\\": \\"DF11D6F6-E35A-41C3-9B20-6FC8A901FE65\\",\\n \\"Connections\\": 0,\\n \\"SslVpnServerId\\": \\"vss-bp18q7hzj6largv4v****\\",\\n \\"MaxConnections\\": 5,\\n \\"Name\\": \\"test\\",\\n \\"EnableMultiFactorAuth\\": false,\\n \\"ClientIpPool\\": \\"10.30.30.0/24\\",\\n \\"Proto\\": \\"UDP\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"IDaaSApplicationId\\": \\"app_my6g4qmvnwxzj2f****\\",\\n \\"IDaaSInstanceVersion\\": \\"EIAM 2.0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 47.98.XX.XX\\n idaas-cn-hangzhou-****\\n 1492753580000\\n vpn-bp1q8bgx4xnkm2ogj****\\n false\\n 1194\\n 10.20.20.0/24\\n cn-hangzhou\\n AES-128-CBC\\n DF11D6F6-E35A-41C3-9B20-6FC8A901FE65\\n 0\\n vss-bp18q7hzj6largv4v****\\n 5\\n test\\n false\\n 10.30.30.0/24\\n UDP\\n","errorExample":""}]', + 'title' => '修改SSL-VPN服务端的配置信息', + 'description' => '- 如果您需要为SSL服务端开启双因子认证功能,请先确保VPN网关实例支持该功能,您可能需要升级VPN网关实例。更多信息,请参见[SSL-VPN双因子认证支持IDaaS EIAM 2.0](~~2785320~~)。'."\n" + .'- 当只修改SSL-VPN服务端**Name**信息时该接口为同步接口,如果还修改了除**Name**之外的配置,该接口为异步接口。'."\n" + .'- **ModifySslVpnServer**接口为异步接口时,即系统先返回一个请求ID,但该SSL-VPN服务端的配置信息尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~2794055~~)接口查询SSL-VPN服务端关联的VPN网关实例的状态,来确认SSL-VPN服务端配置信息的修改状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示SSL-VPN服务端的配置信息正在修改中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示SSL-VPN服务端的配置信息修改成功。'."\n" + ."\n" + .'- **ModifySslVpnServer**接口不支持在同一VPN网关下并发修改SSL-VPN服务端的配置信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSslVpnServers' => [ + 'summary' => '调用DescribeSslVpnServers接口查询已创建的SSL-VPN服务端。', + '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' => 'SSL-VPN服务端所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SslVpnServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vss-bp15j3du13gq1dgey****', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-bp1on0xae9d771ggi****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端的名称。'."\n" + ."\n" + .'长度为1~100个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL-VPN服务端所属的资源组ID。'."\n" + ."\n" + .'SSL-VPN服务端与其关联的VPN网关实例的资源组相同。您可以调用[DescribeVpnGateway](~~2794055~~)接口查询VPN网关实例所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D350187B-EA41-4577-950B-95434C8302E1', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SslVpnServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SslVpnServer' => [ + 'description' => 'SSL-VPN服务端的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InternetIp' => [ + 'description' => 'VPN网关的公网IP地址。', + 'type' => 'string', + 'example' => '47.5.XX.XX', + ], + 'IDaaSInstanceId' => [ + 'description' => 'IDaaS EIAM实例ID。', + 'type' => 'string', + 'example' => 'idaas-cn-hangzhou-****', + ], + 'CreateTime' => [ + 'description' => '创建SSL-VPN服务端的时间戳。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1613800884000', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关ID。', + 'type' => 'string', + 'example' => 'vpn-bp1on0xae9d771ggi****', + ], + 'IDaaSRegionId' => [ + 'description' => 'IDaaS EIAM实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Compress' => [ + 'description' => '是否对通信进行压缩。'."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .'- **false**(默认值):否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Port' => [ + 'description' => 'SSL-VPN服务端所使用的端口。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1194', + ], + 'LocalSubnet' => [ + 'description' => '本端网段。', + 'type' => 'string', + 'example' => '192.168.0.0/24', + ], + 'RegionId' => [ + 'description' => 'SSL-VPN服务端的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Cipher' => [ + 'description' => '使用的加密算法。', + 'type' => 'string', + 'example' => 'AES-128-CBC', + ], + 'Connections' => [ + 'description' => '当前连接数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'SslVpnServerId' => [ + 'description' => 'SSL-VPN服务端的ID。', + 'type' => 'string', + 'example' => 'vss-bp15j3du13gq1dgey****', + ], + 'MaxConnections' => [ + 'description' => '最大连接数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Name' => [ + 'description' => 'SSL-VPN服务端名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'EnableMultiFactorAuth' => [ + 'description' => '是否开启了双因子认证。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**(默认值):未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ClientIpPool' => [ + 'description' => '客户端网段。', + 'type' => 'string', + 'example' => '10.10.1.0/24', + ], + 'Proto' => [ + 'description' => 'SSL-VPN服务端所使用的协议。', + 'type' => 'string', + 'example' => 'UDP', + ], + 'ResourceGroupId' => [ + 'description' => 'SSL-VPN服务端所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + 'IDaaSApplicationId' => [ + 'description' => 'IDaaS应用ID。', + 'type' => 'string', + 'example' => 'app_my6g4qmvnwxzj2f****', + ], + 'IDaaSInstanceVersion' => [ + 'description' => 'IDaaS EIAM实例的版本。'."\n" + ."\n" + .'- 仅当SSL服务端绑定的是IDaaS EIAM 2.0实例,系统才会返回该参数。仅取值:**EIAM 2.0**。'."\n" + .'- 如果SSL服务端绑定的是IDaaS EIAM 1.0实例,系统不会返回该参数。', + 'type' => 'string', + 'example' => 'EIAM 2.0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not found during access authentication.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"D350187B-EA41-4577-950B-95434C8302E1\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"SslVpnServers\\": {\\n \\"SslVpnServer\\": [\\n {\\n \\"InternetIp\\": \\"47.5.XX.XX\\",\\n \\"IDaaSInstanceId\\": \\"idaas-cn-hangzhou-****\\",\\n \\"CreateTime\\": 1613800884000,\\n \\"VpnGatewayId\\": \\"vpn-bp1on0xae9d771ggi****\\",\\n \\"IDaaSRegionId\\": \\"cn-hangzhou\\",\\n \\"Compress\\": false,\\n \\"Port\\": 1194,\\n \\"LocalSubnet\\": \\"192.168.0.0/24\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Cipher\\": \\"AES-128-CBC\\",\\n \\"Connections\\": 0,\\n \\"SslVpnServerId\\": \\"vss-bp15j3du13gq1dgey****\\",\\n \\"MaxConnections\\": 5,\\n \\"Name\\": \\"test\\",\\n \\"EnableMultiFactorAuth\\": true,\\n \\"ClientIpPool\\": \\"10.10.1.0/24\\",\\n \\"Proto\\": \\"UDP\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"IDaaSApplicationId\\": \\"app_my6g4qmvnwxzj2f****\\",\\n \\"IDaaSInstanceVersion\\": \\"EIAM 2.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n D350187B-EA41-4577-950B-95434C8302E1\\n 1\\n 1\\n \\n 47.5.XX.XX\\n idaas-cn-hangzhou-****\\n 1613800884000\\n vpn-bp1on0xae9d771ggi****\\n cn-hangzhou\\n false\\n 1194\\n 192.168.0.0/24\\n cn-hangzhou\\n AES-128-CBC\\n 0\\n vss-bp15j3du13gq1dgey****\\n 5\\n test\\n true\\n 10.10.1.0/24\\n UDP\\n \\n","errorExample":""}]', + 'title' => '查询已创建的SSL-VPN服务端', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVpnSslServerLogs' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL服务端所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnSslServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL服务端的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vss-bp155e9yclsg1xgq4****', + ], + ], + [ + 'name' => 'SslVpnClientCertId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSL客户端证书ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsc-m5euof6s5jy8vs5kd****', + ], + ], + [ + 'name' => 'From', + 'in' => 'query', + 'schema' => [ + 'description' => '日志起始时间,仅支持传入UNIX秒级时间戳,例如1600738962,1600738962表示的时间为2020年09月22日09:42:42。'."\n" + ."\n" + .'> 如果指定**From**,则必须指定**To**或**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1600738962', + ], + ], + [ + 'name' => 'To', + 'in' => 'query', + 'schema' => [ + 'description' => '日志结束时间,仅支持传入UNIX秒级时间戳,例如1600738962,1600738962表示的时间为2020年09月22日09:42:42。'."\n" + ."\n" + .'> 如果指定**To**,则必须指定**From**或**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1600738962', + ], + ], + [ + 'name' => 'MinutePeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '日志周期。单位:分钟。'."\n" + ."\n" + .'> 如果不指定**From**和**To**,则必须指定**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DEDAC5B1-9292-5BF7-BDDF-61BA58CFB2FB', + ], + 'Count' => [ + 'description' => '日志条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'IsCompleted' => [ + 'description' => '查询的日志是否精确。取值:'."\n" + ."\n" + .'- **true**:精确。'."\n" + ."\n" + .'- **false**:不精确。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Logs' => [ + 'description' => '数组,数组中的每一项都为一条日志。', + 'type' => 'array', + 'items' => [ + 'description' => '字符串数组。'."\n" + ."\n" + .'数组中的每一项都为一条日志。', + 'type' => 'string', + 'example' => '"Logs": [ "Mon Feb 28 14:05:51 2022 us=421630 MULTI: multi_create_instance called", "Mon Feb 28 14:05:51 2022 us=421744 112.XX.XX.128:42522 Re-using SSL/TLS context", "Mon Feb 28 14:05:51 2022 us=421834 112.XX.XX.128:42522 Control Channel MTU par****", "Mon Feb 28 14:05:51 2022 us=421850 112.XX.XX.128:42522 Data Channel MTU par****", "Mon Feb 28 14:05:51 2022 us=421901 112.XX.XX.128:42522 Local Option****", "Mon Feb 28 14:05:51 2022 us=421917 112.XX.XX.128:42522 Expected Remote Option****", "Mon Feb 28 14:05:51 2022 us=421951 112.XX.XX.128:42522 TLS: Initial packet from****", "Mon Feb 28 14:05:51 2022 us=581413 112.XX.XX.128:42522 VERIFY OK****", "Mon Feb 28 14:05:51 2022 us=581662 112.XX.XX.128:42522 VERIFY OK****", "Mon Feb 28 14:05:51 2022 us=621071 112.XX.XX.128:42522 peer info****" ]', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSslVpnClientCertId.NotFound', + 'errorMessage' => 'The specified SSL VPN client id does not exist.', + ], + [ + 'errorCode' => 'ParamExclusive.SslVpnServerIdAndSslVpnClientCertId', + 'errorMessage' => 'The specified SSL VPN client does not belong to the specified SSL VPN server.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSslVpnServerId.NotFound', + 'errorMessage' => 'The specified SSL VPN server id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"DEDAC5B1-9292-5BF7-BDDF-61BA58CFB2FB\\",\\n \\"Count\\": 10,\\n \\"IsCompleted\\": true,\\n \\"Data\\": {\\n \\"Logs\\": [\\n \\"\\\\\\"Logs\\\\\\": [ \\\\\\"Mon Feb 28 14:05:51 2022 us=421630 MULTI: multi_create_instance called\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=421744 112.XX.XX.128:42522 Re-using SSL/TLS context\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=421834 112.XX.XX.128:42522 Control Channel MTU par****\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=421850 112.XX.XX.128:42522 Data Channel MTU par****\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=421901 112.XX.XX.128:42522 Local Option****\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=421917 112.XX.XX.128:42522 Expected Remote Option****\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=421951 112.XX.XX.128:42522 TLS: Initial packet from****\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=581413 112.XX.XX.128:42522 VERIFY OK****\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=581662 112.XX.XX.128:42522 VERIFY OK****\\\\\\", \\\\\\"Mon Feb 28 14:05:51 2022 us=621071 112.XX.XX.128:42522 peer info****\\\\\\" ]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n DEDAC5B1-9292-5BF7-BDDF-61BA58CFB2FB\\n 1\\n true\\n \\n Mon Feb 28 14:05:51 2022 us=421630 MULTI: multi_create_instance called\\n Mon Feb 28 14:05:51 2022 us=421744 112.XX.XX.128:42522 Re-using SSL/TLS context\\n Mon Feb 28 14:05:51 2022 us=421834 112.XX.XX.128:42522 Control Channel MTU par****\\n Mon Feb 28 14:05:51 2022 us=421850 112.XX.XX.128:42522 Data Channel MTU par****\\n Mon Feb 28 14:05:51 2022 us=421901 112.XX.XX.128:42522 Local Option****\\n Mon Feb 28 14:05:51 2022 us=421917 112.XX.XX.128:42522 Expected Remote Option****\\n Mon Feb 28 14:05:51 2022 us=421951 112.XX.XX.128:42522 TLS: Initial packet from****\\n Mon Feb 28 14:05:51 2022 us=581413 112.XX.XX.128:42522 VERIFY OK****\\n Mon Feb 28 14:05:51 2022 us=581662 112.XX.XX.128:42522 VERIFY OK****\\n Mon Feb 28 14:05:51 2022 us=621071 112.XX.XX.128:42522 peer info****\\n \\n 10\\n","errorExample":""}]', + 'title' => '查看SSL服务端的日志', + 'summary' => '调用DescribeVpnSslServerLogs接口查看SSL服务端的日志。', + ], + 'CreateIpsecServer' => [ + 'summary' => '调用CreateIpsecServer接口创建IPsec服务端。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关所属地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpn-bp17lofy9fd0dnvzv****', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '本端网段,指需要和客户端网段互连的VPC侧的网段。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '192.168.0.0/24', + ], + ], + [ + 'name' => 'ClientIpPool', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端网段,指给客户端虚拟网卡分配访问地址的地址段。'."\n" + ."\n" + .'> 客户端网段不能和VPC侧网段冲突。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'IpSecServerName', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端名称。'."\n" + ."\n" + .'名称长度为1~100个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + 'maxLength' => 100, + ], + ], + [ + 'name' => 'EffectImmediately', + 'in' => 'query', + 'schema' => [ + 'description' => '配置是否立即生效。取值:'."\n" + ."\n" + .'- **true**:配置完成后立即进行协商。'."\n" + ."\n" + .'- **false**(默认值):当有流量进入时进行协商。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IkeConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '第一阶段协商参数配置。取值:'."\n" + ."\n" + .'- **IkeVersion**:IKE协议的版本。取值:**ikev1**或**ikev2**,默认值:**ikev2**。'."\n" + ."\n" + .'- **IkeMode**:IKE版本的协商模式。默认值:**main**。'."\n" + ."\n" + .'- **IkeEncAlg**:第一阶段协商的加密算法。默认值:**aes**。'."\n" + ."\n" + .'- **IkeAuthAlg**:第一阶段协商的认证算法。默认值:**sha1**。'."\n" + ."\n" + .'- **IkePfs**:第一阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。'."\n" + ."\n" + .'- **IkeLifetime**:第一阶段协商出的SA的生存周期。单位:秒,取值范围:**0**~**86400**,默认值:**86400**。'."\n" + ."\n" + .'- **LocalId**:IPsec服务端标识。支持FQDN和IP地址格式,默认值为VPN网关公网IP地址。'."\n" + ."\n" + .'- **RemoteId**:对端标识。支持FQDN和IP地址格式,默认值为空。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IkeVersion":"ikev2","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400}', + ], + ], + [ + 'name' => 'IpsecConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '第二阶段协商参数配置。取值:'."\n" + ."\n" + .'- **IpsecEncAlg**:第二阶段协商的加密算法。默认值:**aes**。'."\n" + ."\n" + .'- **IpsecAuthAlg**:第二阶段协商的认证算法。默认值:**sha1**。'."\n" + ."\n" + .'- **IpsecPfs**:转发所有协议的报文。第二阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。'."\n" + ."\n" + .'- **IpsecLifetime**:第二阶段协商出的SA的生存周期。单位:秒,取值范围:**0**~**86400**,默认值:**86400**。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', + ], + ], + [ + 'name' => 'PskEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启预共享密钥认证方式。取值:**true**,表示开启预共享密钥认证方式。'."\n" + ."\n" + .'> 本参数必填。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Psk', + 'in' => 'query', + 'schema' => [ + 'description' => '预共享密钥。'."\n" + ."\n" + .'用于IPsec服务端与客户端之间的身份认证。密钥长度为1~100个字符。'."\n" + ."\n" + .'若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用[ListIpsecServers](~~2794120~~)接口查询系统生成的密钥信息。'."\n" + ."\n" + .'> IPsec服务端的预共享密钥需和客户端的认证密钥一致,否则IPsec服务端和客户端之间无法建立连接。', + 'type' => 'string', + 'required' => false, + 'example' => 'Cfd123****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b38****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:只预检此次请求,不会创建IPsec服务端。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误信息。如果检查通过,则返回`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接创建IPsec服务端。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'IPsec服务端创建时间。'."\n" + ."\n" + .'T表示分隔符,Z表示的是UTC,即世界标准时间。', + 'type' => 'string', + 'example' => '2021-02-22T03:24:28Z', + ], + 'IpsecServerId' => [ + 'description' => 'IPsec服务端ID。', + 'type' => 'string', + 'example' => 'iss-bp1jougp8cfsbo8y9****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '690A967E-D4CD-4B69-8C78-94FE828BA10B', + ], + 'IpsecServerName' => [ + 'description' => 'IPsec服务端名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关实例ID。', + 'type' => 'string', + 'example' => 'vpn-bp17lofy9fd0dnvzv****', + ], + 'RegionId' => [ + 'description' => 'VPN网关所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationUnsupported.IPsecServer', + 'errorMessage' => 'The current version of the VPN gateway does not support IPsec server.', + ], + [ + 'errorCode' => 'VpnGateway.SslVpnDisabled', + 'errorMessage' => 'The VPN gateway has not enabled SSL VPN.', + ], + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'OperationFailed.IPsecServerExist', + 'errorMessage' => 'An IPsec server already exists in the VPN gateway.', + ], + [ + 'errorCode' => 'OperationUnsupported.IpsecPfs', + 'errorMessage' => 'The specified IPsec Pfs is unsupported.', + ], + [ + 'errorCode' => 'IllegalParam.AuthMethod', + 'errorMessage' => 'One authentication method (Psk or IDaaS) should be specified at least.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.ClientIpPool', + 'errorMessage' => 'The specified ClientIpPool (%s) is invalid.', + ], + [ + 'errorCode' => 'MissingParam.IDaaSInstanceId', + 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'OperationFailed.NoRamPermission', + 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', + ], + [ + 'errorCode' => 'ClientIpPool.NetmaskInvalid', + 'errorMessage' => 'The netmask length of client IP pool must be greater than or equal to 16 and less than or equal to 29.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified client IP pool conflicts with VPN connection or SSL server.', + ], + [ + 'errorCode' => 'ClientIpPool.SubnetInvalid', + 'errorMessage' => 'The specified client IP pool cannot be used.', + ], + [ + 'errorCode' => 'InvalidClientIpPool.Conflict', + 'errorMessage' => 'The specified client IP pool conflicts with other resources in the same VPC.', + ], + [ + 'errorCode' => 'OperationFailed.AddVpcRoute', + 'errorMessage' => 'It is failed to add VPC route after this operation.', + ], + [ + 'errorCode' => 'QuotaExceeded.VpnRouteEntry', + 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'The system is busy. Please try again later.', + ], + [ + 'errorCode' => 'EnableHaCheck.IpsecServerCidrContainsVpcRouteDest', + 'errorMessage' => 'Ipsec server client cidr contains vpc route prefix. The vpc route prefix is %s.', + ], + [ + 'errorCode' => 'VpnGateway.IPsecServerAndVpnConnectionConflict', + 'errorMessage' => 'The IPSec connection and IPSec server cannot be configured on the same VPN gateway at the same time.', + ], + [ + 'errorCode' => 'EnableHaCheck.SslVpnServerClientCidrContainsVpcRouteDest', + 'errorMessage' => 'Ssl vpn client cidr contains vpc route prefix. The vpc route prefix is %s.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', + 'errorMessage' => 'The specified vpn gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidIDaaSInstanceId.NotFound', + 'errorMessage' => 'The specified IDaaS instance ID does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CreationTime\\": \\"2021-02-22T03:24:28Z\\",\\n \\"IpsecServerId\\": \\"iss-bp1jougp8cfsbo8y9****\\",\\n \\"RequestId\\": \\"690A967E-D4CD-4B69-8C78-94FE828BA10B\\",\\n \\"IpsecServerName\\": \\"test\\",\\n \\"VpnGatewayId\\": \\"vpn-bp17lofy9fd0dnvzv****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2021-02-22T03:24:28Z\\n iss-bp1jougp8cfsbo8y9****\\n 690A967E-D4CD-4B69-8C78-94FE828BA10B\\n test\\n vpn-bp17lofy9fd0dnvzv****\\n cn-hangzhou\\n","errorExample":""}]', + 'title' => '创建IPsec服务端', + 'description' => '- 创建IPsec服务端前,您需要先创建VPN网关并确保已开启VPN网关的SSL-VPN功能。具体操作,请参见[CreateVpnGateway](~~2794049~~)。'."\n" + .'- 创建IPsec服务端前,需确保VPN网关实例下不存在IPsec连接。具体操作,请参见[DeleteVpnConnection](~~2526948~~)。'."\n" + .'- **CreateIpsecServer**接口属于异步接口,即系统先返回一个实例ID,但该IPsec服务端尚未创建成功,系统后台的创建任务仍在进行。您可以调用[DescribeVpnGateway](~~2794055~~)查询VPN网关实例的状态,来确定IPsec服务端的创建状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示IPsec服务端正在创建中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示IPsec服务端创建成功。'."\n" + .'- **CreateIpsecServer**接口不支持在同一VPN网关下并发创建IPsec服务端。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIpsecServer' => [ + 'summary' => '调用DeleteIpsecServer接口删除IPsec服务端。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端所属地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpsecServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'iss-bp1jougp8cfsbo8y9****', + ], + ], + [ + '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-00****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:只预检此次请求,不会删除IPsec服务端。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误信息。如果检查通过,则返回`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除IPsec服务端。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidIpsecServerId.NotFound', + 'errorMessage' => 'The specified IPsec server ID (%s) does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\r\\n","errorExample":""}]', + 'title' => '删除IPsec服务端', + 'description' => '- **DeleteIpsecServer**接口属于异步接口,即系统先返回一个请求ID,但该IPsec服务端尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeVpnGateway](~~2794055~~)查询VPN网关实例状态,来确定IPsec服务端的删除状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示IPsec服务端正在删除中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示IPsec服务端删除成功。'."\n" + .'- **DeleteIpsecServer**接口不支持在同一VPN网关下并发删除IPsec服务端。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateIpsecServer' => [ + 'summary' => '调用UpdateIpsecServer接口更新IPsec服务端配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'IpsecServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'iss-bp1bo3xuvcxo7ixll****', + ], + ], + [ + 'name' => 'LocalSubnet', + 'in' => 'query', + 'schema' => [ + 'description' => '本端网段,指需要和客户端网段互连的VPC侧的网段。'."\n" + ."\n" + .'多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.0/24,172.17.0.0/16', + ], + ], + [ + 'name' => 'ClientIpPool', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端网段,指给客户端虚拟网卡分配访问地址的网段。'."\n" + ."\n" + .'> 客户端网段不能和VPC侧网段冲突。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/24', + ], + ], + [ + 'name' => 'IpsecServerName', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端名称。'."\n" + ."\n" + .'长度为1~100个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + 'maxLength' => 100, + ], + ], + [ + 'name' => 'EffectImmediately', + 'in' => 'query', + 'schema' => [ + 'description' => '是否删除当前已协商成功的IPsec隧道并重新发起协商。取值:'."\n" + ."\n" + .'- **true**:配置完成后立即进行协商。'."\n" + ."\n" + .'- **false**:当有流量进入时进行协商。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IkeConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '第一阶段协商参数配置。取值:'."\n" + ."\n" + .'- **IkeVersion**:IKE协议的版本。取值:**ikev1**或**ikev2**。'."\n" + ."\n" + .'- **IkeMode**:IKE版本的协商模式。默认值:**main**。'."\n" + ."\n" + .'- **IkeEncAlg**:第一阶段协商的加密算法。默认值:**aes**。'."\n" + ."\n" + .'- **IkeAuthAlg**:第一阶段协商的认证算法。默认值:**sha1**。'."\n" + ."\n" + .'- **IkePfs**:第一阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。'."\n" + ."\n" + .'- **IkeLifetime**:第一阶段协商出的SA的生存周期。单位:秒,取值范围:**0**~**86400**,默认值:**86400**。'."\n" + ."\n" + .'- **LocalId**:IPsec服务端标识。支持FQDN和IP地址格式。'."\n" + ."\n" + .'- **RemoteId**:对端标识。支持FQDN和IP地址格式。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IkeVersion":"ikev2","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400}', + ], + ], + [ + 'name' => 'IpsecConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '第二阶段协商参数配置。取值:'."\n" + ."\n" + .'- **IpsecEncAlg**:第二阶段协商的加密算法。默认值:**aes**。'."\n" + ."\n" + .'- **IpsecAuthAlg**:第二阶段协商的认证算法。默认值:**sha1**。'."\n" + ."\n" + .'- **IpsecPfs**:转发所有协议的报文。第二阶段协商使用的Diffie-Hellman密钥交换算法。默认值:**group2**。'."\n" + ."\n" + .'- **IpsecLifetime**:第二阶段协商出的SA的生存周期。单位:秒,取值范围:**0**~**86400**,默认值:**86400**。', + 'type' => 'string', + 'required' => false, + 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', + ], + ], + [ + 'name' => 'PskEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启预共享密钥认证方式。取值:**true**,表示开启预共享密钥认证方式。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Psk', + 'in' => 'query', + 'schema' => [ + 'description' => '预共享密钥。'."\n" + ."\n" + .'用于IPsec服务端与客户端之间的身份认证。密钥长度为1~100个字符。'."\n" + ."\n" + .'您可以调用[ListIpsecServers](~~2794120~~)接口查询系统生成的密钥信息。'."\n" + ."\n" + .'> IPsec服务端的预共享密钥需和客户端的认证密钥一致,否则IPsec服务端和客户端之间无法建立连接。', + 'type' => 'string', + 'required' => false, + 'example' => 'Cfd123****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:只预检此次请求,不会更改IPsec服务端配置。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误信息。如果检查通过,则返回`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接更改IPsec服务端配置。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B61C08E5-403A-46A2-96C1-F7B1216DB10C', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'VpnGateway.Configuring', + 'errorMessage' => 'The specified service is configuring.', + ], + [ + 'errorCode' => 'VpnGateway.FinancialLocked', + 'errorMessage' => 'The specified service is financial locked.', + ], + [ + 'errorCode' => 'OperationUnsupported.IpsecPfs', + 'errorMessage' => 'The specified IPsec Pfs is unsupported.', + ], + [ + 'errorCode' => 'IllegalParam.AuthMethod', + 'errorMessage' => 'One authentication method (Psk or IDaaS) should be specified at least.', + ], + [ + 'errorCode' => 'IllegalParam.LocalSubnet', + 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.ClientIpPool', + 'errorMessage' => 'The specified "ClientIpPool" (%s) is invalid.', + ], + [ + 'errorCode' => 'MissingParam.IDaaSInstanceId', + 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', + ], + [ + 'errorCode' => 'OperationFailed.NoRamPermission', + 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', + ], + [ + 'errorCode' => 'OperationFailed.AddVpcRoute', + 'errorMessage' => 'It\'s failed to add VPC route after this operation.', + ], + [ + 'errorCode' => 'ClientIpPool.NetmaskInvalid', + 'errorMessage' => 'The netmask length of client IP pool must be greater than or equal to 16 and less than or equal to 29.', + ], + [ + 'errorCode' => 'VpnRouteEntry.Conflict', + 'errorMessage' => 'The specified client IP pool conflicts with VPN connection or SSL server.', + ], + [ + 'errorCode' => 'ClientIpPool.SubnetInvalid', + 'errorMessage' => 'The specified client IP pool cannot be used.', + ], + [ + 'errorCode' => 'InvalidClientIpPool.Conflict', + 'errorMessage' => 'The specified client IP pool conflicts with other resources in the same VPC.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'The system is busy. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidIpsecServerId.NotFound', + 'errorMessage' => 'The specified IPsec server ID (%s) does not exist.', + ], + [ + 'errorCode' => 'InvalidIDaaSInstanceId.NotFound', + 'errorMessage' => 'The specified IDaaS instance ID does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 60, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B61C08E5-403A-46A2-96C1-F7B1216DB10C\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nB61C08E5-403A-46A2-96C1-F7B1216DB10C\\r\\n","errorExample":""}]', + 'title' => '更新IPsec服务端', + 'description' => '- 如果您只修改IPsec服务端的**IpsecServerName**信息时该接口为同步接口,如果您修改了除**IpsecServerName**之外的配置,该接口为异步接口。'."\n" + .'- 当**UpdateIpsecServer**接口为异步接口时,系统会先返回一个请求ID,但该IPsec服务端的配置尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVpnGateway](~~2794055~~)查询VPN网关实例的状态,来确定IPsec服务端配置的修改状态:'."\n" + .' - 当VPN网关实例处于**updating**状态时,表示IPsec服务端的配置正在修改中。'."\n" + .' - 当VPN网关实例处于**active**状态时,表示IPsec服务端的配置修改成功。'."\n" + .'- **UpdateIpsecServer**接口不支持在同一VPN网关下并发修改IPsec服务端的配置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListIpsecServers' => [ + 'summary' => '调用ListIpsecServers接口查看已创建的IPsec服务端。', + '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' => 'IPsec服务端所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpsecServerName', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端名称。'."\n" + ."\n" + .'名称长度为1~100个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'VpnGatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPN网关的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页大小,取值范围:**1**~**20**,默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'IpsecServerId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'IPsec服务端ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPsec服务端ID。N的取值范围:**1**~**20**。', + 'type' => 'string', + 'required' => false, + 'example' => 'iss-bp1bo3xuvcxo7ixll****', + ], + 'required' => false, + 'example' => 'iss-bp1bo3xuvcxo7ixll****', + 'maxLength' => 128, + 'minLength' => 0, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端所属的资源组ID。'."\n" + ."\n" + .'IPsec服务端与其关联的VPN网关实例的资源组相同。您可以调用[DescribeVpnGateway](~~2794055~~)接口查询VPN网关实例所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + ."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'MaxResults' => [ + 'description' => '分页大小。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'IpsecServers' => [ + 'description' => 'IPsec服务端信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'IPsec服务端创建时间。'."\n" + ."\n" + .'T表示分隔符,Z表示的是UTC,即世界标准时间。', + 'type' => 'string', + 'example' => '2018-12-03T10:11:55Z', + ], + 'OnlineClientCount' => [ + 'description' => '已经连接IPsec服务端的客户端数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InternetIp' => [ + 'description' => 'VPN网关公网IP地址。', + 'type' => 'string', + 'example' => '47.22.XX.XX', + ], + 'IpsecServerName' => [ + 'description' => 'IPsec服务端名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'IDaaSInstanceId' => [ + 'description' => 'IDaaS实例ID。', + 'type' => 'string', + 'example' => 'idaas-cn-hangzhou-****', + ], + 'EffectImmediately' => [ + 'description' => '是否删除当前已协商成功的IPsec隧道并重新发起协商。'."\n" + ."\n" + .'- **true**:配置完成后立即进行协商。'."\n" + ."\n" + .'- **false**:当有流量进入时进行协商。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'VpnGatewayId' => [ + 'description' => 'VPN网关的ID。', + 'type' => 'string', + 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', + ], + 'LocalSubnet' => [ + 'description' => '本端网段,指需要和客户端网段互连的VPC侧的网段。', + 'type' => 'string', + 'example' => '192.168.0.0/16,172.17.0.0/16', + ], + 'Psk' => [ + 'description' => '预共享密钥。', + 'type' => 'string', + 'example' => 'pgw6dy7d****', + ], + 'RegionId' => [ + 'description' => 'IPsec服务端所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'PskEnabled' => [ + 'description' => '是否开启预共享密钥认证方式。仅取值为**true**,表示开启预共享密钥认证方式。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'IpsecServerId' => [ + 'description' => 'IPsec服务端ID。', + 'type' => 'string', + 'example' => 'iss-bp1bo3xuvcxo7ixll****', + ], + 'MultiFactorAuthEnabled' => [ + 'description' => '是否已开启双因子认证功能。'."\n" + ."\n" + .'- **true**:已开启。'."\n" + ."\n" + .'- **false**:未开启。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'MaxConnections' => [ + 'description' => 'VPN网关的SSL连接数规格。'."\n" + .'> SSL-VPN与IPsec服务端共享SSL连接数。例如,SSL连接数为5,您已经有3个SSL客户端连接了SSL-VPN,则您还能使用2个客户端连接IPsec服务端。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ClientIpPool' => [ + 'description' => '客户端网段,指给客户端虚拟网卡分配访问地址的地址段。', + 'type' => 'string', + 'example' => '10.0.0.0/24', + ], + 'IkeConfig' => [ + 'description' => '第一阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'RemoteId' => [ + 'description' => '对端标识符。支持FQDN和IP地址格式,默认为空。', + 'type' => 'string', + 'example' => '139.67.XX.XX', + ], + 'IkeLifetime' => [ + 'description' => 'IKE生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IkeEncAlg' => [ + 'description' => 'IKE加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'LocalId' => [ + 'description' => 'IPsec服务端标识符。支持FQDN和IP地址格式,默认为当前选取的VPN网关公网IP地址。', + 'type' => 'string', + 'example' => '116.64.XX.XX', + ], + 'IkeMode' => [ + 'description' => 'IKE版本协商模式。取值:'."\n" + ."\n" + .'**main**:主模式,协商过程安全性高。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'main', + ], + 'IkeVersion' => [ + 'description' => 'IKE版本。', + 'type' => 'string', + 'example' => 'ikev2', + ], + 'IkePfs' => [ + 'description' => 'Diffie-Hellman密钥交换算法。', + 'type' => 'string', + 'example' => 'group2', + ], + 'IkeAuthAlg' => [ + 'description' => 'IKE认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + ], + ], + 'IpsecConfig' => [ + 'description' => '第二阶段协商的配置。', + 'type' => 'object', + 'properties' => [ + 'IpsecAuthAlg' => [ + 'description' => 'IPsec认证算法。', + 'type' => 'string', + 'example' => 'sha1', + ], + 'IpsecLifetime' => [ + 'description' => 'IPsec生存时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + ], + 'IpsecEncAlg' => [ + 'description' => 'IPsec加密算法。', + 'type' => 'string', + 'example' => 'aes', + ], + 'IpsecPfs' => [ + 'description' => 'Diffie-Hellman密钥交换算法。', + 'type' => 'string', + 'example' => 'group2', + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => 'IPsec服务端所属的资源组ID。'."\n" + ."\n" + .'您可以调用[ListResourceGroups](~~158855~~)接口查询资源组信息。', + 'type' => 'string', + 'example' => 'rg-acfmzs372yg****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 1,\\n \\"IpsecServers\\": [\\n {\\n \\"CreationTime\\": \\"2018-12-03T10:11:55Z\\",\\n \\"OnlineClientCount\\": 1,\\n \\"InternetIp\\": \\"47.22.XX.XX\\",\\n \\"IpsecServerName\\": \\"test\\",\\n \\"IDaaSInstanceId\\": \\"idaas-cn-hangzhou-****\\",\\n \\"EffectImmediately\\": false,\\n \\"VpnGatewayId\\": \\"vpn-bp1q8bgx4xnkm2ogj****\\",\\n \\"LocalSubnet\\": \\"192.168.0.0/16,172.17.0.0/16\\",\\n \\"Psk\\": \\"pgw6dy7d****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"PskEnabled\\": true,\\n \\"IpsecServerId\\": \\"iss-bp1bo3xuvcxo7ixll****\\",\\n \\"MultiFactorAuthEnabled\\": true,\\n \\"MaxConnections\\": 5,\\n \\"ClientIpPool\\": \\"10.0.0.0/24\\",\\n \\"IkeConfig\\": {\\n \\"RemoteId\\": \\"139.67.XX.XX\\",\\n \\"IkeLifetime\\": 86400,\\n \\"IkeEncAlg\\": \\"aes\\",\\n \\"LocalId\\": \\"116.64.XX.XX\\",\\n \\"IkeMode\\": \\"main\\",\\n \\"IkeVersion\\": \\"ikev2\\",\\n \\"IkePfs\\": \\"group2\\",\\n \\"IkeAuthAlg\\": \\"sha1\\"\\n },\\n \\"IpsecConfig\\": {\\n \\"IpsecAuthAlg\\": \\"sha1\\",\\n \\"IpsecLifetime\\": 86400,\\n \\"IpsecEncAlg\\": \\"aes\\",\\n \\"IpsecPfs\\": \\"group2\\"\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a****\\n 54B48E3D-DF70-471B-AA93-08E683A1B457\\n 10\\n 1\\n \\n 2018-12-03T10:11:55Z\\n 1\\n 47.22.XX.XX\\n test\\n idaas-cn-hangzhou-****\\n false\\n vpn-bp1q8bgx4xnkm2ogj****\\n 192.168.0.0/16,172.17.0.0/16\\n pgw6dy7d****\\n cn-hangzhou\\n true\\n iss-bp1bo3xuvcxo7ixll****\\n true\\n 5\\n 10.0.0.0/24\\n \\n 139.67.XX.XX\\n 86400\\n aes\\n 116.64.XX.XX\\n main\\n ikev2\\n group2\\n sha1\\n \\n \\n sha1\\n 86400\\n aes\\n group2\\n \\n \\n","errorExample":""}]', + 'title' => '获取IPsec服务端列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListIpsecServerLogs' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端所属地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpsecServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPsec服务端ID。'."\n" + ."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'iss-2zei2n5q5zhirfh73****', + ], + ], + [ + 'name' => 'From', + 'in' => 'query', + 'schema' => [ + 'description' => '日志起始时间,仅支持传入UNIX秒级时间戳,例如1671003744,1671003744表示的时间为2022年12月14日15:42:24。'."\n" + ."\n" + .'> 如果指定**From**,则必须指定**To**或**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1671003744', + ], + ], + [ + 'name' => 'To', + 'in' => 'query', + 'schema' => [ + 'description' => '日志结束时间,仅支持传入UNIX秒级时间戳,例如1671004344,1671004344表示的时间为2022年12月14日15:52:24。'."\n" + ."\n" + .'> 如果指定**To**,则必须指定**From**或**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1671004344', + ], + ], + [ + 'name' => 'MinutePeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '日志周期。取值范围:**1**~**10**。单位:分钟。'."\n" + ."\n" + .'> 如果不指定**From**和**To**,则必须指定**MinutePeriod**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页显示的条目数。取值范围:**1**~**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DEDAC5B1-9292-5BF7-BDDF-61BA58CFB2FB', + ], + 'Count' => [ + 'description' => '当前页下日志的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'IsCompleted' => [ + 'description' => '查询的日志是否精确。取值:'."\n" + ."\n" + .'- **true**:精确。'."\n" + .'- **false**:不精确。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Data' => [ + 'description' => '日志信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '字符串数组。'."\n" + ."\n" + .'数组中的每一项都为一条日志。', + 'type' => 'string', + 'example' => '"2022-12-15 17:00:43 [INFO]: : iss-2zei2n5q5zhirfh73**** del ipsec policy successfully", "2022-12-15 17:00:43 [INFO]: : iss-2zei2n5q5zhirfh73**** add ipsec policy successfully"', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidIpsecServerId.NotFound', + 'errorMessage' => 'The specified IPsec server ID (%s) does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"DEDAC5B1-9292-5BF7-BDDF-61BA58CFB2FB\\",\\n \\"Count\\": 10,\\n \\"IsCompleted\\": true,\\n \\"Data\\": [\\n \\"\\\\\\"2022-12-15 17:00:43 [INFO]: : iss-2zei2n5q5zhirfh73**** del ipsec policy successfully\\\\\\", \\\\\\"2022-12-15 17:00:43 [INFO]: : iss-2zei2n5q5zhirfh73**** add ipsec policy successfully\\\\\\"\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n B6DB370B-2CDB-5396-BD7C-EDCBA2756553\\n 1\\n true\\n 2022-12-15 17:00:43 [INFO]: : iss-2zei2n5q5zhirfh73**** del ipsec policy successfully\\n 2022-12-15 17:00:43 [INFO]: : iss-2zei2n5q5zhirfh73**** add ipsec policy successfully\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [INFO]: : nat keepalive msg send\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [DEBUG]: sockmisc.c:327:sendfromto(): sockname 192.168.1.70[500]\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [DEBUG]: sockmisc.c:329:sendfromto(): send packet from 192.168.1.70[500]\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [DEBUG]: sockmisc.c:331:sendfromto(): send packet to 223.XX.XX.215[17489]\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [DEBUG]: sockmisc.c:514:sendfromto(): 1 times of 1 bytes message will be sent to 223.XX.XX.215[17489]\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [INFO]: : nat keepalive msg send\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [DEBUG]: sockmisc.c:327:sendfromto(): sockname 192.168.1.70[4500]\\n 2022-12-15 17:04:20 iss-2zei2n5q5zhirfh73**** [DEBUG]: sockmisc.c:329:sendfromto(): send packet from 192.168.1.70[4500]\\n 10\\n","errorExample":""}]', + 'title' => '查看IPsec服务端日志', + 'summary' => '调用ListIpsecServerLogs接口查看IPsec服务端日志。', + ], + 'AllocateIpv6Address' => [ + 'summary' => '分配一个IPv6地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '192335', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址所在的交换机的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-asdfjlnaue4g****', + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'schema' => [ + 'description' => '指定要申请的IPv6地址。指定的IPv6地址必须是在所属交换机的地址段内的空闲地址。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f', + ], + ], + [ + 'name' => 'Ipv6AddressName', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的实例名称。'."\n" + ."\n" + .'长度为0~128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6-name', + ], + ], + [ + 'name' => 'Ipv6AddressDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的实例描述。'."\n" + ."\n" + .'长度为0~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6-description', + ], + ], + [ + 'name' => 'AddressType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的类型,取值:'."\n" + ."\n" + .'* IPv6Address(默认值):代表当前实例是单个IPv6 IP。'."\n" + .'* IPv6Prefix:代表当前实例是IPv6 Cidr。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv6Address', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,请勿输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。'."\n" + ."\n" + .'- false(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6AddressId' => [ + 'description' => 'IPv6地址的实例ID。', + 'type' => 'string', + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + 'Ipv6Address' => [ + 'description' => 'IPv6地址。', + 'type' => 'string', + 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazdjdhd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.IPv6AddressAlreadyAllocated', + 'errorMessage' => 'The operation is failed because of the ipv6 address specified was allocated.', + ], + [ + 'errorCode' => 'OperationFailed.AddressNotInVSwitchCidr', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'IllegalParam.IpAddress', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.IPv6Disabled', + 'errorMessage' => 'Operation failed because IPv6 is not enabled for the vSwitch.', + ], + [ + 'errorCode' => 'OperationFailed.IpPrefixMustInVSwitchCidrReservation', + 'errorMessage' => 'The specified ip prefix must in reserved segment the VSwitch.', + ], + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'You cannot operate shared resources.', + ], + [ + 'errorCode' => 'QuotaExceeded.IPv6PrefixMask', + 'errorMessage' => 'The quota of specifed ipv6 prefix mask is exceeded.', + ], + [ + 'errorCode' => 'OperationUnsupported.Ipv6Feature', + 'errorMessage' => 'The IPv6 feature is not supported in the region.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6Prefix', + 'errorMessage' => 'The param of Ipv6Prefix is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.ExistIPv6Used', + 'errorMessage' => 'The operation is failed because of some ipv6 in the ipv6 prefix is already in use.', + ], + [ + 'errorCode' => 'OperationUnsupported.UnboundIpv6PrefixFeature', + 'errorMessage' => 'The region does not support creating IPv6 prefix that are not bound to any resources.', + ], + [ + 'errorCode' => 'OperationUnsupported.UnboundIpv6Feature', + 'errorMessage' => 'The region does not support creating IPv6 addresses that are not bound to any resources.', + ], + [ + 'errorCode' => 'OperationUnsupported.FreePrivateIpv6', + 'errorMessage' => 'This operation does not support free private IPv6 addresses.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.VSwitchCidrReservation', + 'errorMessage' => 'The dependent vswitch cidr reservation is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeIpv6Addresses', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Ipv6AddressId\\": \\"ipv6-2zen5j4axcp5l5qyy****\\",\\n \\"Ipv6Address\\": \\"2408:XXXX:153:3921:851c:c435:7b12:1c5f\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazdjdhd****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', + 'title' => '创建IPv6地址', + ], + 'ReleaseIpv6Address' => [ + 'summary' => '释放一个未关联实例的IPv6地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '192336', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6AddressId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建IP地址池。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.Ipv6InternetBandwidth', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'OperationFailed.AssociationExist', + 'errorMessage' => 'Operation failed because the existence of an association.', + ], + [ + 'errorCode' => 'OperationFailed.ResourceInBinding', + 'errorMessage' => 'The operation is failed because of the resource is in binding.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6Instance', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.Ipv6InstanceId', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', + 'title' => '释放IPv6地址', + ], + 'CreateIpv6Gateway' => [ + 'summary' => 'IPv6网关是控制专有网络VPC(Virtual Private Cloud)的IPv6网络流量的网关。您可以通过调用CreateIpv6Gateway接口创建IPv6网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要开通IPv6网关的VPC ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-123sedrfswd23****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6GW', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的描述信息。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6gatewayforVPC1', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的信息。', + 'type' => 'object', + 'properties' => [ + 'Ipv6GatewayId' => [ + 'description' => 'IPv6网关的ID。', + 'type' => 'string', + 'example' => 'ipv6gw-hp3y0l3ln89j8cdvf****', + ], + 'ResourceGroupId' => [ + 'description' => 'IPv6网关所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Spec', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.ChargeType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.OnlyOneIpv6GatewayInVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.VpcIpv6Disabled', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.UnpaidBillsExist', + 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', + ], + [ + 'errorCode' => 'OperationFailed.InformationIncomplete', + 'errorMessage' => 'Your information is incomplete.', + ], + [ + 'errorCode' => 'OperationFailed.NoPaymentMethod', + 'errorMessage' => 'No payment method is specified for your account.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceGroupId', + 'errorMessage' => 'Invalid ResourceGroupld value.', + ], + [ + 'errorCode' => 'MissingParam.vpcId', + 'errorMessage' => 'The parameter vpcId is mandatory.', + ], + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'You cannot operate shared resources.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Ipv6GatewayId\\": \\"ipv6gw-hp3y0l3ln89j8cdvf****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ipv6gw-hp3y0l3ln89j8cdvf****\\n rg-acfmxazb4ph6aiy****\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC\\n","errorExample":""}]', + 'title' => '创建IPv6网关', + 'description' => '- 创建IPv6网关之前,请确保目标VPC和交换机已开通IPv6网段能力,您可以调用[DescribeVpcAttribute](~~448582~~),查询VPC的配置信息。'."\n" + ."\n" + .'- 一个VPC内仅允许创建一个IPv6网关。'."\n" + ."\n" + .'- **CreateIpv6Gateway**接口属于异步接口,即系统返回一个实例ID,但该IPv6网关尚未创建成功,系统后台的启动任务仍在进行。您可以调用[DescribeIpv6GatewayAttribute](~~102226~~)查询IPv6网关的创建状态:'."\n" + .' - 当IPv6网关处于**Creating**状态时,表示IPv6网关正在创建中。'."\n" + .' - 当IPv6网关处于**Created**状态时,表示IPv6网关创建完成。'."\n" + .'- **CreateIpv6Gateway**接口不支持在同一个VPC下并发创建IPv6网关。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateIpv6EgressOnlyRule' => [ + 'summary' => '您可以通过创建仅主动出规则,使开通了IPv6网段的VPC中的ECS可以主动访问客户端的IPv6终端,但不允许客户端的IPv6终端通过互联网访问VPC网络中的ECS实例,调用CreateIpv6EgressOnlyRule为IPv6地址添加仅主动出规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37981', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6gw-hp3c2paq0ywauasza****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要设置仅主动出规则的IPv6地址ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6-hp3nxjkfxn5pnhgl5****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '需要设置仅主动出规则的实例类型。'."\n" + ."\n" + .'仅取值:**Ipv6Address**(默认值),表示为IPv6地址类型。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Ipv6Address', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '仅主动出规则的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'rulename', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '仅主动出规则的描述。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ruledescription', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6EgressRuleId' => [ + 'description' => '仅主动出规则的ID。', + 'type' => 'string', + 'example' => 'ipv6py-hp3w98rmlbqp01245****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpv6Gateway.NotFound', + 'errorMessage' => 'The specified IPv6 gateway was not found.', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The param of Name [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'The parameter of Description is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.InstanceType', + 'errorMessage' => 'The parameter of InstanceType is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.FinancialLocked', + 'errorMessage' => 'The operation is forbidden because of financialLocked.', + ], + [ + 'errorCode' => 'OperationUnsupported.EgressRuleVSwitch', + 'errorMessage' => 'The specified VSwitch is not supported to create egress-only rule.', + ], + [ + 'errorCode' => 'InvalidIpv6Instance.NotFound', + 'errorMessage' => 'The specified resource of InvalidIpv6Instance is not found.', + ], + [ + 'errorCode' => 'OperationFailed.NoInternetBandwidth', + 'errorMessage' => 'Operation failed because the ipv6 instance has no internet bandwidth.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6EgressRuleExisted', + 'errorMessage' => 'An egress-only rule already exists for the IPv6 address.', + ], + [ + 'errorCode' => 'OperationFailed.InternetBandwidthUnstable', + 'errorMessage' => 'The operation is forbidden because of InternetBandwidthUnstable.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6InternetBandwidth', + 'errorMessage' => 'The status of the IPv6InternetBandwidth is incorrect.', + ], + [ + 'errorCode' => 'OperationUnsupported.EgressRuleInDefaultSpec', + 'errorMessage' => 'Egress-only rule is not supported. Please update the spec of IPv6 Gateway to Medium or Large.', + ], + [ + 'errorCode' => 'QuotaExceeded.Ipv6EgressRules', + 'errorMessage' => '%s quota exceeded.', + ], + [ + 'errorCode' => 'Mismatch.Ipv6AddressAndIpv6Gateway', + 'errorMessage' => 'The %s and %s are mismatched.', + ], + [ + 'errorCode' => 'OperationUnsupported.EgressOnlyRuleOnFreeIpv6Instance', + 'errorMessage' => 'Creating ipv6 egress only rule on ipv6 instance that not associated with any resource is unsupported.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter InstanceId is mandatory.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeIpv6EgressOnlyRules', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Ipv6EgressRuleId\\": \\"ipv6py-hp3w98rmlbqp01245****\\",\\n \\"RequestId\\": \\"9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\r\\n\\tipv6py-hp3w98rmlbqp01245****\\r\\n","errorExample":""}]', + 'title' => '为IPv6地址添加仅主动出规则', + 'description' => '- **CreateIpv6EgressOnlyRule**接口属于异步接口,即系统返回一个实例ID,但该IPv6地址的仅主动出规则尚未创建成功,系统后台的创建任务仍在进行。您可以调用[DescribeIpv6EgressOnlyRules](~~102208~~)查询IPv6地址的仅主动出规则的创建状态:'."\n" + .' - 当IPv6地址的仅主动出规则处于**Creating**状态时,表示IPv6地址仅主动出规则正在创建中。'."\n" + .' - 当IPv6地址的仅主动出规则处于**Created**状态时,表示IPv6地址仅主动出规则创建完成。'."\n" + .'- **CreateIpv6EgressOnlyRule**接口不支持为同一个IPv6地址并发添加仅主动出规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIpv6Gateway' => [ + 'summary' => '调用DeleteIpv6Gateway接口删除IPv6网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37992', + 'abilityTreeNodes' => [ + 'FEATUREvpcGGHSBJ', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的IPv6网关实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6gw-hp3y0l3ln89j8****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:只预检此次请求,不会删除IPsec服务端。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误信息。如果检查通过,则返回`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除IPsec服务端。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E9A8AABE-A84B-4AF2-A68A-8E2EA190E7AE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', + ], + [ + 'errorCode' => 'DependencyViolation.GatewayRouteTableRelation', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6Gateway', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.EgressRules', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'DependencyViolation.Ipv6InternetBandwidth', + 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', + ], + [ + 'errorCode' => 'OperationFailed.RouteEntryUnstable', + 'errorMessage' => 'The operation is failed because of route entry related to it is unstable, please try later.', + ], + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'You cannot operate shared resources.', + ], + [ + 'errorCode' => 'DependencyViolation.SharedIpv6InternetBandwidth', + 'errorMessage' => 'The IPv6 gateway [%s] has IPv6 address [%s] that enabled internet from share user [%s], please delete it and try again later.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'Vpc incorrect status.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E9A8AABE-A84B-4AF2-A68A-8E2EA190E7AE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E9A8AABE-A84B-4AF2-A68A-8E2EA190E7AE\\n","errorExample":""}]', + 'title' => '删除IPv6网关', + 'description' => '删除IPv6网关前,请先删除仅主动出规则。更多信息,请参见[DeleteIpv6EgressOnlyRule](~~102201~~)。'."\n" + ."\n" + .'- **DeleteIpv6Gateway**接口属于异步接口,即系统返回一个请求ID,但该IPv6网关尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeIpv6GatewayAttribute](~~102226~~)查询IPv6网关的删除状态:'."\n" + .' - 当IPv6网关处于**Deleting**状态时,表示IPv6网关正在删除中。'."\n" + .' - 当查询不到指定的IPv6网关时,表示IPv6网关删除成功。'."\n" + .'- **DeleteIpv6Gateway**接口不支持并发删除同一个IPv6网关。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIpv6EgressOnlyRule' => [ + 'summary' => '调用DeleteIpv6EgressOnlyRule接口删除仅主动出规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37991', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6EgressOnlyRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的仅主动出规则ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6py-hp3w98rmlbqp0xxxxxxxx', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123456', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.EgressOnlyRule', + 'errorMessage' => 'The status of the specified IPv6EgressOnlyRule is incorrect.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.Ipv6EgressOnlyRule', + 'errorMessage' => 'The specified resource of IPv6 Gateway Rule is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeIpv6EgressOnlyRules', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\n","errorExample":""}]', + 'title' => '删除仅主动出规则', + 'description' => '- **DeleteIpv6EgressOnlyRule**接口属于异步接口,即系统返回一个请求ID,但该仅主动出规则尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeIpv6EgressOnlyRules](~~102208~~)接口查询仅主动出规则的删除状态:'."\n" + .' - 当仅主动出规则处于**Deleting**状态时,表示仅主动出规则正在删除中。'."\n" + .' - 当查询不到指定的仅主动出规则时,表示仅主动出规则删除成功。'."\n" + .'- **DeleteIpv6EgressOnlyRule**接口不支持并发删除同一个仅主动出规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIpv6InternetBandwidth' => [ + 'summary' => '调用DeleteIpv6InternetBandwidth接口删除公网带宽。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '37993', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6AddressId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的ID。'."\n" + ."\n" + .'> 您必须输入参数**Ipv6AddressId**和参数**Ipv6InternetBandwidthId**中的任意一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + ], + [ + 'name' => 'Ipv6InternetBandwidthId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的公网带宽实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:只预检此次请求,不会删除IPsec服务端。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误信息。如果检查通过,则返回`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后直接删除IPsec服务端。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。'."\n" + .'> -', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E07E0FE6-5C21-405F-AF82-7613AA81EF92', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'BothEmptyParam.Ipv6AddressIdAndIpv6InternetBandwidthId', + 'errorMessage' => 'Either Ipv6AddressId or Ipv6InternetBandwidthId should be specified.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6Instance', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + ], + 404 => [ + [ + 'errorCode' => 'OperationFailed.ServiceManaged', + 'errorMessage' => 'Operation is forbidden because this instance belongs to Service manager.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeIpv6Addresses', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E07E0FE6-5C21-405F-AF82-7613AA81EF92\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E07E0FE6-5C21-405F-AF82-7613AA81EF92\\n","errorExample":""}]', + 'title' => '删除公网带宽', + 'description' => '**DeleteIpv6InternetBandwidth**接口不支持并发删除同一个公网带宽。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIpv6InternetBandwidth' => [ + 'summary' => '修改IPv6地址的公网带宽。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6AddressId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的ID。'."\n" + ."\n" + .'> 您必须输入参数**Ipv6AddressId**和参数**Ipv6InternetBandwidthId**中的任意一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + ], + [ + 'name' => 'Ipv6InternetBandwidthId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的公网带宽实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的公网带宽。单位:Mbps。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 计费方式为按使用流量计费时,公网带宽取值范围:**1**~**1000**。'."\n" + .'- 计费方式为按带宽计费时,公网带宽取值范围:**1**~**2000**。'."\n" + .'- 计费方式为按传统95计费时,公网带宽取值范围:**1**~**2000**。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'- 计费方式为按使用流量计费时,公网带宽取值范围:**1**~**1000**。'."\n" + .'- 计费方式为按带宽计费时,公网带宽取值范围:**1**~**2000**。'."\n" + .'', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '200', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建IPv4网关。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接创建IPv4网关。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D560AF68-4CE8-4A5C-B3FE-469F558094D0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.Ipv6InstanceId', + 'errorMessage' => 'The param of Ipv6InstanceId is missing.', + ], + [ + 'errorCode' => 'InvalidIpv6Instance.NotFound', + 'errorMessage' => 'The specified Ipv6AddressId or Ipv6InternetBandwidthId is not found.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of bandwidth is illegal.', + ], + [ + 'errorCode' => 'OperationUnsupported.FinancialLocked', + 'errorMessage' => 'The operation is forbidden because of financialLocked.', + ], + [ + 'errorCode' => 'OperationFailed.InternetBandwidthNonExist', + 'errorMessage' => 'The operation is forbidden because of InternetBandwidthNonExist.', + ], + [ + 'errorCode' => 'OperationFailed.InternetBandwidthUnstable', + 'errorMessage' => 'The operation is forbidden because of InternetBandwidthUnstable.', + ], + [ + 'errorCode' => 'OperationFailed.BandwidthExceedLimit', + 'errorMessage' => 'The operation is forbidden because of BandwidthExceedLimit.', + ], + [ + 'errorCode' => 'ParamExclusive.Ipv6AddressIdAndIpv6InternetBandwidthId', + 'errorMessage' => 'Ipv6AddressId and Ipv6InternetBandwidthId is mutually exclusive.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidIpv6Instance.NotFound', + 'errorMessage' => 'The specified Ipv6AddressId or Ipv6InternetBandwidthId is not found.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationFailed.QuerySpInfo', + 'errorMessage' => 'query resource by sp error', + ], + [ + 'errorCode' => 'OperationFailed.QueryAccountInfo', + 'errorMessage' => 'Query account info failed when create order.', + ], + [ + 'errorCode' => 'OperationFailed.SyncTradeResource', + 'errorMessage' => 'Resource transaction information synchronization failed', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D560AF68-4CE8-4A5C-B3FE-469F558094D0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n D560AF68-4CE8-4A5C-B3FE-469F558094D0\\n","errorExample":""}]', + 'title' => '修改IPv6地址的公网带宽', + 'description' => '**ModifyIpv6InternetBandwidth**接口不支持并发修改同一个IPv6公网带宽。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIpv6GatewayAttribute' => [ + 'summary' => '修改IPv6网关的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '38017', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的IPv6网关的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6gw-hp39kh1ya51yzp2lu****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6name', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的描述信息。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6description', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会关联路由表。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并关联路由表。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpv6GatewayId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\n","errorExample":""}]', + 'title' => '修改IPv6网关的信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIpv6AddressAttribute' => [ + 'summary' => '修改IPv6地址的名称和描述。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '38016', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址所在的地域。您可以通过调用[DescribeRegions](~~36063~~)获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址所在的地域。您可以通过调用[DescribeRegions](~~36063~~)获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6AddressId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6-hp32vv2klzw4yerdf****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的名称。'."\n" + ."\n" + .'长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的描述信息。'."\n" + ."\n" + .'长度为0-256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会查询可使用的IP地址池信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D560AF68-4CE8-4A5C-B3FE-469F558094D0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpv6AddressId.NotFound', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The param of Name [%s] is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => 'The param of Description [%s] is illegal.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D560AF68-4CE8-4A5C-B3FE-469F558094D0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n D560AF68-4CE8-4A5C-B3FE-469F558094D0\\n","errorExample":""}]', + 'title' => '修改IPv6地址的名称和描述', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIpv6Gateways' => [ + 'summary' => '调用DescribeIpv6Gateways接口查询某个地域下已创建的IPv6网关。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6gw-hp3rwmtmfhgis****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关关联的VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-123sedrfswd23****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。但不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6GW', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的信息。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E3A06196-3E7C-490D-8F39-CB4B5A0CE8AD', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询到的条目数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Ipv6Gateways' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Gateway' => [ + 'description' => 'IPv6网关的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6网关的详细信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'IPv6网关的创建时间。', + 'type' => 'string', + 'example' => '2020-12-20T14:51:23Z', + ], + 'Status' => [ + 'description' => 'IPv6网关的运行状态。取值:'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + ."\n" + .'- **Available**:可用。', + 'type' => 'string', + 'example' => 'Available', + ], + 'VpcId' => [ + 'description' => 'IPv6网关关联的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-123sedrfswd23****', + ], + 'Description' => [ + 'description' => 'IPv6网关的描述信息。', + 'type' => 'string', + 'example' => 'descriptionforIPv6GW', + ], + 'Ipv6GatewayId' => [ + 'description' => 'IPv6网关的ID。', + 'type' => 'string', + 'example' => 'ipv6gw-hp3rwmtmfhgisipv6gw-hp3rwmtmfhgis****', + ], + 'ExpiredTime' => [ + 'description' => 'IPv6网关的过期时间。', + 'type' => 'string', + 'example' => '2021-12-20T14:51:23Z', + ], + 'BusinessStatus' => [ + 'description' => 'IPv6网关的状态,取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + ."\n" + .'- **SecurityLocked**:安全锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Name' => [ + 'description' => 'IPv6网关的名称。', + 'type' => 'string', + 'example' => 'ipv6GW', + ], + 'InstanceChargeType' => [ + 'description' => 'IPv6网关的计费方式。'."\n" + .' '."\n" + .'仅取值:**PostPaid**,表示后付费。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'RegionId' => [ + 'description' => 'IPv6网关的地域ID。', + 'type' => 'string', + 'example' => 'cn-huhehaote', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'OwnerId' => [ + 'description' => 'IPv6网关所属的阿里云账号ID。'."\n" + ."\n" + .'>该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。>', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2546073170691****'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"E3A06196-3E7C-490D-8F39-CB4B5A0CE8AD\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Ipv6Gateways\\": {\\n \\"Ipv6Gateway\\": [\\n {\\n \\"CreationTime\\": \\"2020-12-20T14:51:23Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"VpcId\\": \\"vpc-123sedrfswd23****\\",\\n \\"Description\\": \\"descriptionforIPv6GW\\",\\n \\"Ipv6GatewayId\\": \\"ipv6gw-hp3rwmtmfhgisipv6gw-hp3rwmtmfhgis****\\",\\n \\"ExpiredTime\\": \\"2021-12-20T14:51:23Z\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Name\\": \\"ipv6GW\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"OwnerId\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n E3A06196-3E7C-490D-8F39-CB4B5A0CE8AD\\n 1\\n 2\\n \\n 2020-12-20T14:51:23Z\\n Available\\n vpc-123sedrfswd23****\\n descriptionforIPv6GW\\n ipv6gw-hp3rwmtmfhgisipv6gw-hp3rwmtmfhgis****\\n 2021-12-20T14:51:23Z\\n Normal\\n ipv6GW\\n PostPaid\\n cn-huhehaote\\n rg-bp67acfmxazb4ph****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询已创建的IPv6网关', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIpv6EgressOnlyRules' => [ + 'summary' => '查询创建的仅主动出规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37999', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6gw-bp1rhhs9zjlxukc5e****', + ], + ], + [ + 'name' => 'Ipv6EgressOnlyRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查看的仅主动出规则ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6py-bp1rr7fq1md8pbb3k****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '规则名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'rulename', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '需要设置仅主动出规则的实例类型,取值:'."\n" + ."\n" + .'- IPv6Address(默认值):代表当前实例是单个 IPv6 IP。'."\n" + .'- IPv6Prefix:代表当前实例是 IPv6 Cidr。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ipv6Address', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '设置了仅主动出规则的IPv6地址的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6-bp12uzwhac8tv3xx6****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E16671B7-DEA6-48E0-8E9C-41913DAD44DD', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Ipv6EgressOnlyRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6EgressOnlyRule' => [ + 'description' => '仅主动出规则的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '仅主动出规则的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '仅主动出规则的状态。', + 'type' => 'string', + 'example' => 'Available', + ], + 'Description' => [ + 'description' => '仅主动出规则的描述信息。', + 'type' => 'string', + 'example' => 'ruledescription', + ], + 'Ipv6EgressOnlyRuleId' => [ + 'description' => '仅主动出规则的ID。', + 'type' => 'string', + 'example' => 'ipv6py-bp1rr7fq1md8pbb3k****', + ], + 'InstanceId' => [ + 'description' => '配置了仅主动出规则的IPv6地址的ID。', + 'type' => 'string', + 'example' => 'ipv6gw-bp1rhhs9zjlxukc5e****', + ], + 'InstanceType' => [ + 'description' => '配置了仅主动出规则的实例类型。', + 'type' => 'string', + 'example' => 'Ipv6Address', + ], + 'Name' => [ + 'description' => '仅主动出规则的名称。', + 'type' => 'string', + 'example' => 'rulename', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"E16671B7-DEA6-48E0-8E9C-41913DAD44DD\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Ipv6EgressOnlyRules\\": {\\n \\"Ipv6EgressOnlyRule\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"ruledescription\\",\\n \\"Ipv6EgressOnlyRuleId\\": \\"ipv6py-bp1rr7fq1md8pbb3k****\\",\\n \\"InstanceId\\": \\"ipv6gw-bp1rhhs9zjlxukc5e****\\",\\n \\"InstanceType\\": \\"Ipv6Address\\",\\n \\"Name\\": \\"rulename\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n E16671B7-DEA6-48E0-8E9C-41913DAD44DD\\n 1\\n 1\\n \\n Available\\n ruledescription\\n ipv6gwpy-123456xxxxxxxx\\n i-123456xxxxxxxx\\n Ipv6Address\\n rulename\\n \\n","errorExample":""}]', + 'title' => '查询创建的仅主动出规则', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIpv6Addresses' => [ + 'summary' => '查询IPv6地址列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '37998', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6AddressId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址ID。每次调用最多可以输入20个IPv6地址ID,以半角逗号(,)分隔。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址的名称。'."\n" + ."\n" + .'名称长度为0-128个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'AddressType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的类型,取值:'."\n" + ."\n" + .'* IPv6Address(默认值):代表查询单IPv6 IP的IPv6实例。'."\n" + .'* IPv6Prefix:代表查询前缀网段的IPv6实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv6Address', + ], + ], + [ + 'name' => 'AssociatedInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址关联的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-2ze72wuqj4y3jl4f****', + ], + ], + [ + 'name' => 'AssociatedInstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址所关联的实例类型,取值:'."\n" + ."\n" + .' - **EcsInstance**:VPC类型的ECS。'."\n" + .'- **NetworkInterface**:辅助弹性网卡ENI。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsInstance', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址的通信能力类型,取值:'."\n" + ."\n" + .'- **Private**:私网通信类型。'."\n" + ."\n" + .'- **Public**:公网通信类型。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Private', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址所在的VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址所在的交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-25navfgbue4g****', + ], + ], + [ + 'name' => 'Ipv6InternetBandwidthId', + 'in' => 'query', + 'schema' => [ + 'description' => '开通公网带宽后,要查询的IPv6地址对应的公网带宽实例ID。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', + ], + ], + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含未生效的订购数据,取值:'."\n" + ."\n" + .'- **false**(默认值):不包含未生效的订购数据。'."\n" + ."\n" + .'- **true**:包含未生效的订购数据。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。列表元素最大数量:20。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签集合。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n\n" + .'一个标签值最多支持128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'yunke', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值:**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值:**50**;默认值:**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6地址所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'ServiceManaged', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为托管实例。取值:'."\n" + .'- **true**:是托管实例。'."\n" + .'- **false**:不是托管实例。'."\n" + ."\n" + .'不填默认查询所有实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时每页的行数,最大值为**50**,默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'AA4486A8-B6AE-469E-AB09-820EF8ECFA2B', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Ipv6Addresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Address' => [ + 'description' => 'IPv6地址的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => 'Ipv6地址的详细信息。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'IPv6地址所在的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + 'Status' => [ + 'description' => 'IPv6地址的状态,取值:'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + ."\n" + .'- **Available**:可用。'."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'Ipv6AddressId' => [ + 'description' => 'IPv6地址的实例ID。', + 'type' => 'string', + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + 'AllocationTime' => [ + 'description' => 'IPv6地址的创建时间。', + 'type' => 'string', + 'example' => '2020-12-20T14:56:09Z', + ], + 'Ipv6AddressName' => [ + 'description' => 'IPv6地址的实例名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'Ipv6AddressDescription' => [ + 'description' => 'IPv6地址的实例描述。', + 'type' => 'string', + 'example' => 'test', + ], + 'AssociatedInstanceType' => [ + 'description' => 'IPv6地址关联的实例类型。', + 'type' => 'string', + 'example' => 'EcsInstance', + ], + 'AssociatedInstanceId' => [ + 'description' => 'IPv6地址关联的实例ID。', + 'type' => 'string', + 'example' => 'i-2ze72wuqj4y3jl4f****', + ], + 'NetworkType' => [ + 'description' => 'IPv6地址的通信能力类型,取值:'."\n" + ."\n" + .'- **Private**:私网通信类型。'."\n" + ."\n" + .'- **Public**:公网通信类型 。'."\n", + 'type' => 'string', + 'example' => 'Private', + ], + 'Ipv6Address' => [ + 'description' => 'IPv6地址。', + 'type' => 'string', + 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f', + ], + 'AddressType' => [ + 'description' => 'IPv6地址的类型,取值:'."\n" + ."\n" + .'* IPv6Address(默认值):代表当前实例是单个IPv6 IP。'."\n" + .'* IPv6Prefix:代表当前实例是IPv6 Cidr。', + 'type' => 'string', + 'example' => 'IPv6Address', + ], + 'Ipv6Isp' => [ + 'description' => 'IPv6地址的服务运营商,取值:'."\n" + .'- **BGP**(默认值):阿里云BGP IPv6。'."\n" + .'- **ChinaMobile**:中国移动(单线)。'."\n" + .'- **ChinaUnicom**:中国联通(单线)。'."\n" + .'- **ChinaTelecom**:中国电信(单线)。', + 'type' => 'string', + 'example' => 'BGP', + ], + 'VSwitchId' => [ + 'description' => 'IPv6地址所在的交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-25navfgbue4g****', + ], + 'Ipv6GatewayId' => [ + 'description' => 'IPv6地址的所属IPv6网关实例ID。', + 'type' => 'string', + 'example' => 'ipv6gw-2zewg0l66s73b4k2q****', + ], + 'RealBandwidth' => [ + 'description' => 'IPv6地址的实际带宽峰值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Ipv6InternetBandwidth' => [ + 'description' => 'IPv6地址的公网带宽信息。', + 'type' => 'object', + 'properties' => [ + 'InternetChargeType' => [ + 'description' => 'IPv6地址的公网带宽的计费方式,取值:'."\n" + ."\n" + .''."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。'."\n" + .'- **PayByBandwidth**:按固定带宽计费。'."\n" + .'- **PayByOld95**:表示按传统95计费。IPv6公网带宽默认不支持按传统95计费,如需使用,请联系客户经理申请。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。'."\n" + .'- **PayByBandwidth**:按固定带宽计费。'."\n" + ."\n" + .'', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'BusinessStatus' => [ + 'description' => 'IPv6地址的公网带宽的商业状态,取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + ."\n" + .'- **SecurityLocked**:安全锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Bandwidth' => [ + 'description' => 'IPv6地址的独享公网带宽,单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Ipv6InternetBandwidthId' => [ + 'description' => 'IPv6地址的公网带宽实例ID。', + 'type' => 'string', + 'example' => 'ipv6bw-hp3b35oq1fj50kbv****', + ], + 'InstanceChargeType' => [ + 'description' => 'IPv6地址的公网带宽的付费方式,取值:'."\n" + ."\n" + .'**PostPaid**:后付费。'."\n", + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'HasReservationData' => [ + 'description' => '是否有续费数据。'."\n" + ."\n" + .'- **false**:无续费数据。'."\n" + ."\n" + .'- **true**:有续费数据。只有在入参**IncludeReservationData**为**true**,且有未生效订购数据时才会为**true**。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ReservationInternetChargeType' => [ + 'description' => '续费付费类型。'."\n" + ."\n\n" + .''."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。'."\n" + .'- **PayByBandwidth**:按固定带宽计费。'."\n" + .'- **PayByOld95**:按传统95计费。IPv6公网带宽默认不支持按传统95计费,如需使用,请联系客户经理申请。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。'."\n" + .'- **PayByBandwidth**:按固定带宽计费。'."\n" + ."\n" + .'', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'ReservationOrderType' => [ + 'description' => '续费订单类型。取值:**RENEW**,表示续费订单。', + 'type' => 'string', + 'example' => 'RENEW', + ], + 'ReservationActiveTime' => [ + 'description' => '续费生效时间,格式为`YYYY-MM-DDThh:mm:ssZ`。', + 'type' => 'string', + 'example' => '2021-05-23T16:00:00Z', + ], + 'ReservationBandwidth' => [ + 'description' => '续费带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12', + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => 'IPv6网关所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4ph****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签的标签值。'."\n" + ."\n" + .'标签值最多支持128个字符,可以为空字符串,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'一个标签键对应一个标签值。一次最多支持输入20个标签值。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'yunke', + ], + ], + ], + ], + ], + ], + 'ServiceManaged' => [ + 'description' => '是否为托管实例。取值:'."\n" + ."\n" + .'- **1**:是托管实例。'."\n" + ."\n" + .'- **0**:不是托管实例。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Ipv6Address', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.NetworkType', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.AddressType', + 'errorMessage' => 'The specified AddressType is illegal.', + ], + [ + 'errorCode' => 'IllegalParamSize.AssociatedInstanceId', + 'errorMessage' => 'The param size of AssociatedInstanceId is illegal.', + ], + [ + 'errorCode' => 'MissingParam.AssociatedInstanceId', + 'errorMessage' => 'The param of AssociatedInstanceId is missing when AssociatedInstanceType is specified.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"AA4486A8-B6AE-469E-AB09-820EF8ECFA2B\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Ipv6Addresses\\": {\\n \\"Ipv6Address\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72zv****\\",\\n \\"Status\\": \\"Available\\",\\n \\"Ipv6AddressId\\": \\"ipv6-2zen5j4axcp5l5qyy****\\",\\n \\"AllocationTime\\": \\"2020-12-20T14:56:09Z\\",\\n \\"Ipv6AddressName\\": \\"test\\",\\n \\"Ipv6AddressDescription\\": \\"test\\",\\n \\"AssociatedInstanceType\\": \\"EcsInstance\\",\\n \\"AssociatedInstanceId\\": \\"i-2ze72wuqj4y3jl4f****\\",\\n \\"NetworkType\\": \\"Private\\",\\n \\"Ipv6Address\\": \\"2408:XXXX:153:3921:851c:c435:7b12:1c5f\\",\\n \\"AddressType\\": \\"IPv6Address\\",\\n \\"Ipv6Isp\\": \\"BGP\\",\\n \\"VSwitchId\\": \\"vsw-25navfgbue4g****\\",\\n \\"Ipv6GatewayId\\": \\"ipv6gw-2zewg0l66s73b4k2q****\\",\\n \\"RealBandwidth\\": 5,\\n \\"Ipv6InternetBandwidth\\": {\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Bandwidth\\": 5,\\n \\"Ipv6InternetBandwidthId\\": \\"ipv6bw-hp3b35oq1fj50kbv****\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"HasReservationData\\": false,\\n \\"ReservationInternetChargeType\\": \\"PayByTraffic\\",\\n \\"ReservationOrderType\\": \\"RENEW\\",\\n \\"ReservationActiveTime\\": \\"2021-05-23T16:00:00Z\\",\\n \\"ReservationBandwidth\\": 12\\n },\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"yunke\\"\\n }\\n ]\\n },\\n \\"ServiceManaged\\": 1\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n AA4486A8-B6AE-469E-AB09-820EF8ECFA2B\\n 1\\n 2\\n \\n vpc-bp15zckdt37pq72zv****\\n Available\\n ipv6-2zen5j4axcp5l5qyy****\\n 2020-12-20T14:56:09Z\\n test\\n EcsInstance\\n i-2ze72wuqj4y3jl4f****\\n Private\\n 2408:XXXX:153:3921:851c:c435:7b12:1c5f\\n BGP\\n vsw-25navfgbue4g****\\n ipv6gw-2zewg0l66s73b4k2q****\\n 5\\n \\n PayByTraffic\\n Normal\\n 5\\n ipv6bw-hp3b35oq1fj50kbv****\\n PostPaid\\n false\\n PayByTraffic\\n RENEW\\n 2021-05-23T16:00:00Z\\n 12\\n \\n \\n","errorExample":""}]', + 'title' => '查询IPv6地址列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIpv6GatewayAttribute' => [ + 'summary' => '调用DescribeIpv6GatewayAttribute接口查询指定IPv6网关所在地域,所属VPC,运行状态,计费方式等详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6网关ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6gw-hp3y0l3ln89j8cdvf****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'IPv6网关所在的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-123sedrfswd23****', + ], + 'Status' => [ + 'description' => 'IPv6网关的状态。取值:'."\n" + ."\n" + .'- **Pending**:配置中。'."\n" + ."\n" + .'- **Available**:可用。', + 'type' => 'string', + 'example' => 'Available', + ], + 'CreationTime' => [ + 'description' => 'IPv6网关的创建时间。', + 'type' => 'string', + 'example' => '2018-12-05T09:21:35Z', + ], + 'RegionId' => [ + 'description' => 'IPv6网关所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-huhehaote', + ], + 'InstanceChargeType' => [ + 'description' => 'IPv6网关的计费方式。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC', + ], + 'Ipv6GatewayId' => [ + 'description' => 'IPv6网关的实例ID。', + 'type' => 'string', + 'example' => 'ipv6gw-hp3y0l3ln89j8cdvf****', + ], + 'Description' => [ + 'description' => 'IPv6网关的描述信息。', + 'type' => 'string', + 'example' => 'test', + ], + 'ExpiredTime' => [ + 'description' => 'IPv6网关的过期时间。', + 'type' => 'string', + 'example' => '2019-1-05T09:21:35Z', + ], + 'BusinessStatus' => [ + 'description' => 'IPv6网关的状态,取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + ."\n" + .'- **SecurityLocked**:安全锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Name' => [ + 'description' => 'IPv6网关的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + 'GatewayRouteTableId' => [ + 'description' => 'IPv6网关绑定的网关路由表ID。'."\n" + ."\n\n" + .'> 仅绑定了网关路由表的IPv6网关显示此参数。', + 'type' => 'string', + 'example' => 'vtb-5ts0ohchwkp3dydt2****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'一个标签值最多支持128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'OwnerId' => [ + 'description' => 'IPv6网关所属的阿里云账号ID。'."\n" + ."\n" + .'>该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。>', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2546073170691****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-123sedrfswd23****\\",\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2018-12-05T09:21:35Z\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC\\",\\n \\"Ipv6GatewayId\\": \\"ipv6gw-hp3y0l3ln89j8cdvf****\\",\\n \\"Description\\": \\"test\\",\\n \\"ExpiredTime\\": \\"2019-1-05T09:21:35Z\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Name\\": \\"test\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"GatewayRouteTableId\\": \\"vtb-5ts0ohchwkp3dydt2****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"OwnerId\\": 0\\n}","errorExample":""},{"type":"xml","example":"\\n vpc-123sedrfswd23****\\n Available\\n 2018-12-05T09:21:35Z\\n cn-huhehaote\\n PostPaid\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC\\n ipv6gw-hp3y0l3ln89j8cdvf****\\n test\\n 2019-1-05T09:21:35Z\\n Normal\\n test\\n rg-acfmxazb4ph6aiy****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n","errorExample":""}]', + 'title' => '查询指定IPv6网关的详细信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AllocateIpv6InternetBandwidth' => [ + 'summary' => '默认创建的IPv6网关只具备私网通信的能力,您可以调用AllocateIpv6InternetBandwidth接口为IPv6地址购买公网带宽,使VPC网络中的ECS实例可以通过该IPv6地址访问互联网,同时也允许IPv6终端通过互联网访问VPC网络中的ECS实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '37971', + 'abilityTreeNodes' => [ + 'FEATUREvpc3GHR3P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + [ + 'name' => 'Ipv6GatewayId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6gw-uf6hcyzu65v98v3du****', + ], + ], + [ + 'name' => 'Ipv6AddressId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6公网带宽的计费方式。取值:'."\n" + ."\n" + .''."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。'."\n" + .'- **PayByBandwidth**(默认值):按带宽计费。'."\n" + .'- **PayByOld95**:表示按传统95计费。IPv6公网带宽默认不支持按传统95计费,如需使用,请联系客户经理申请。'."\n" + ."\n" + .''."\n" + .''."\n" + ."\n" + .'- **PayByTraffic**:按使用流量计费。'."\n" + .'- **PayByBandwidth**(默认值):按带宽计费。'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByBandwidth', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6地址的公网带宽。单位:Mbps。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 当**InternetChargeType**为**PayByTraffic**时,公网带宽取值范围:**1**~**1000**。'."\n" + .'- 当**InternetChargeType**为**PayByBandwidth**时,公网带宽取值范围:**1**~**2000**。'."\n" + .'- 当**InternetChargeType**为**PayByOld95**时,公网带宽取值范围:**1**~**2000**。'."\n" + ."\n" + .''."\n" + .''."\n" + .' '."\n" + .'- 当**InternetChargeType**为**PayByTraffic**时,公网带宽取值范围:**1**~**1000**。'."\n" + .'- 当**InternetChargeType**为**PayByBandwidth**时,公网带宽取值范围:**1**~**2000**。'."\n" + ."\n" + .'', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '200', + ], + ], + [ + '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' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会关联路由表。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并关联路由表。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6网关的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6AddressId' => [ + 'description' => 'IPv6地址的ID。', + 'type' => 'string', + 'example' => 'ipv6-2zen5j4axcp5l5qyy****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6972A26E-99B1-4367-9890-FBDEBB0F5E7D', + ], + 'InternetBandwidthId' => [ + 'description' => '开通公网带宽后,要查询的IPv6网关对应的公网带宽实例ID。', + 'type' => 'string', + 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'MissingParam.Ipv6InstanceId', + 'errorMessage' => 'The param of Ipv6InstanceId is missing.', + ], + [ + 'errorCode' => 'InvalidIpv6Instance.NotFound', + 'errorMessage' => 'The specified Ipv6AddressId or Ipv6InternetBandwidthId is not found.', + ], + [ + 'errorCode' => 'IllegalParam.ChargeType', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.InternetChargeType', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'OperationUnsupported.PrePaid', + 'errorMessage' => '%s is unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6GatewayDisMatchIpv6Address', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'OperationFailed.InternetBandwidthAlreadyExisted', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'OperationFailed.Ipv6GatewayNotExist', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'IncorrectStatus.Ipv6Instance', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IllegalParam.Ipv6Address', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'UnsupportedFeature.InternetChargeTypeOnFreeIpv6Address', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.InternetChargeTypeOnStaticIsp', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'OperationUnsupported.ULA', + 'errorMessage' => '%s is unsupported.', + ], + [ + 'errorCode' => 'OperationFailed.OpenCdtServiceFirst', + 'errorMessage' => 'The operation is failed because of %s.', + ], + [ + 'errorCode' => 'OperationFailed.UpgradeCdtServiceFirst', + 'errorMessage' => 'The operation is failed because of cdt is not upgraded.', + ], + [ + 'errorCode' => 'OperationUnsupported.PrivateGUA', + 'errorMessage' => 'This operation does not support private GUA addresses.', + ], + [ + 'errorCode' => 'OperationDenied.UnSupportedBindTypeCloudInstance', + 'errorMessage' => 'Internet bandwidth cannot be allocated to the IPv6 address bound to the cloud service instance.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv6Address', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationFailed.QueryAccountInfo', + 'errorMessage' => 'Query account info failed when create order.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'The system is busy. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeIpv6Addresses', + 'callbackInterval' => 3, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Ipv6AddressId\\": \\"ipv6-2zen5j4axcp5l5qyy****\\",\\n \\"RequestId\\": \\"6972A26E-99B1-4367-9890-FBDEBB0F5E7D\\",\\n \\"InternetBandwidthId\\": \\"ipv6bw-uf6hcyzu65v98v3du****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ipv6-2zen5j4axcp5l5qyy****\\n 6972A26E-99B1-4367-9890-FBDEBB0F5E7D\\n ipv6bw-uf6hcyzu65v98v3du****\\n","errorExample":""}]', + 'title' => '为IPv6地址购买公网带宽', + 'description' => '- 调用该接口之前,请确保您已在具有IPv6网段的VPC中创建了支持IPv6地址的ECS,具体操作,请参见[搭建IPv6专有网络](~~100540~~)。'."\n" + .'- **AllocateIpv6InternetBandwidth**接口不支持并发购买同一个IPv6公网带宽。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateIPv6TranslatorAclList' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用 DescribeRegions接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'example' => 'sha123456', + ], + ], + [ + 'name' => 'AclName', + 'in' => 'query', + 'schema' => [ + 'description' => ' 访问控制策略组名称。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AclId' => [ + 'description' => '访问控制策略组ID。', + 'type' => 'string', + 'example' => 'ipv6transacl-bp1de2xxxx', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8B2F5262-6B57-43F2-xxxxx', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified name is not support.', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full.', + ], + [ + 'errorCode' => 'Nat64Acl.AclNameExist', + 'errorMessage' => 'This ipv6 translator acl name is existed', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal Error', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclId\\": \\"ipv6transacl-bp1de2xxxx\\",\\n \\"RequestId\\": \\"8B2F5262-6B57-43F2-xxxxx\\"\\n}","errorExample":"\\n"},{"type":"xml","example":"\\n\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n vsw-25naue4gz\\n","errorExample":"\\n\\n"}]', + 'title' => '创建访问控制策略组', + 'summary' => '创建访问控制策略组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateIPv6TranslatorEntry' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用**DescribeRegions**接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6TranslatorId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务的实例ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6trans-bp1858ys57xxxxxx', + ], + ], + [ + 'name' => 'EntryName', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换映射条目的名称。长度为 2~100个字符,必须以字母或中文开头,可包含数字,半角句点(.),下划线(_)和短划线(-)。但不能以`http://`或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'name1', + ], + ], + [ + 'name' => 'EntryDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换映射条目的描述。', + 'type' => 'string', + 'required' => false, + 'example' => 'description', + ], + ], + [ + 'name' => 'AllocateIpv6Port', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例分配的IPv6地址的使用端口。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '80', + ], + ], + [ + 'name' => 'BackendIpv4Addr', + 'in' => 'query', + 'schema' => [ + 'description' => ' 需要提供IPv6服务的公网IPv4地址(IPv4-only的服务器的IPv4地址)。 ', + 'type' => 'string', + 'required' => true, + 'example' => '46.22.xx.xx', + ], + ], + [ + 'name' => 'BackendIpv4Port', + 'in' => 'query', + 'schema' => [ + 'description' => '需要提供IPv6服务的公网IPv4地址的端口。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '80', + ], + ], + [ + 'name' => 'TransProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '协议类型。取值:'."\n" + ."\n" + .'- **tcp**:转发TCP协议的报文。 '."\n" + .'- **udp**:转发UDP协议的报文。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'EntryBandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换映射条目的带宽峰值。取值: '."\n" + .' '."\n" + .'- -1(默认值):不限制IPv6转换映射条目的带宽峰值。 '."\n" + .'- 1-200Mbps:该映射条目的带宽值。 '."\n" + ."\n" + .'> 所有IPv6转换映射条目的带宽峰值之和不能超过实例的带宽峰值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + 'default' => '-1', + ], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启访问控制。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'default' => 'off', + ], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启访问控制:'."\n" + ."\n" + .'- **white**:允许访问策略组中的IPv6地址访问后端服务。'."\n" + ."\n" + .'- **black**:禁止访问策略组中的IPv6地址访问后端服务。', + 'type' => 'string', + 'required' => false, + 'example' => 'white', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => '关联的访问控制策略组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6transacl-bp1g8bhrdexnrxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'Ipv6TranslatorEntryId' => [ + 'description' => 'IPv6转换服务的实例ID。', + 'type' => 'string', + 'example' => 'ipv6transentry-xxxxxxxx', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DCE5D25-FFC9-492A-8371-12A4E0EE2E05', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpAddress.AlreadyExist', + 'errorMessage' => 'The specified ip address is already exist.', + ], + [ + 'errorCode' => 'InvalidIpAddress.WrongFormat', + 'errorMessage' => 'The specified ip address is invalid.', + ], + [ + 'errorCode' => 'InvalidIpAddress.PrivateAddress', + 'errorMessage' => 'The specified private ip address is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidPort', + 'errorMessage' => 'The specified port is invalid.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorId.NotFound', + 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified value of name not supported.', + ], + [ + 'errorCode' => 'InvalidDescription', + 'errorMessage' => 'The specified value of description not supported.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidProtocol', + 'errorMessage' => 'The specified transProtocol is invalid.', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + [ + 'errorCode' => 'IPv6Translator.Configuring', + 'errorMessage' => 'The specified ipv6 translator is configuring.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidBandwidth', + 'errorMessage' => 'The specified entry bandwidth is not valid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.IPv6Conflict', + 'errorMessage' => 'The specified ipv6 port conflict.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.IPv4Conflict', + 'errorMessage' => 'The specified ipv4 port and address conflict.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.AclIdNull', + 'errorMessage' => 'The acl id must not be null.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl id does not exist.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidAclStatus', + 'errorMessage' => 'The specified acl status is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidAclType', + 'errorMessage' => 'The specified acl type is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Ipv6TranslatorEntryId\\": \\"ipv6transentry-xxxxxxxx\\",\\n \\"RequestId\\": \\"DCE5D25-FFC9-492A-8371-12A4E0EE2E05\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ipv6transentry-xxxxxxxx\\n DCE5D25-FFC9-492A-8371-12A4E0EE2E05\\n","errorExample":""}]', + 'title' => '为转换服务实例添加IPv6转换映射条目', + 'summary' => '为指定的IPv6转换服务实例添加IPv6转换映射条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AddIPv6TranslatorAclListEntry' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IP条目的访问控制策略组ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6transacl-bp1dcdvfe2****', + ], + ], + [ + 'name' => 'AclEntryIp', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组条目中要添加的单个IPv6地址或IPv6地址段,例如12XX:0:0:XXXX::0102或12XX:0:0:XXXX::/60。', + 'type' => 'string', + 'required' => true, + 'example' => '12XX:0:0:XXXX::0102', + ], + ], + [ + 'name' => 'AclEntryComment', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组条目的备注信息。'."\n" + ."\n" + .'长度为2~100个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'clientIP1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'AclEntryId' => [ + 'description' => '访问控制策略组条目ID。', + 'type' => 'string', + 'example' => 'ipv6transaclentry-bp105jrs****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8B2F5262-6B57-43F2-defr345', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpAddress.WrongFormat', + 'errorMessage' => 'The specified entry ip address is invalid.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidEntryComment', + 'errorMessage' => 'The specified value of comment not supported.', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclEntryId\\": \\"ipv6transaclentry-bp105jrs****\\",\\n \\"RequestId\\": \\"8B2F5262-6B57-43F2-defr345\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ipv6transaclentry-bp105jrs****\\n 8B2F5262-6B57-43F2-defr345\\n","errorExample":""}]', + 'title' => '在访问控制策略组中添加IP条目', + 'summary' => '在访问控制策略组中添加IP条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateIPv6Translator' => [ + 'summary' => '创建IPv6转换服务实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => false, + 'notSupportAutoTestReason' => '产品在2022年已经发布下线公告', + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cm-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端token用于保证请求的幂等性。要保证Client Token在不同请求间唯一,最大值不超过64个ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'sha111', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的名称,默认为实例ID。长度为2~100个字符,必须以字母或中文开头,可包含数字、点号(.)、下划线(_)和短横线(-)。但不能以`http://`或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6_1', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的规格。取值:**small**。', + 'type' => 'string', + 'required' => false, + 'example' => 'small', + 'default' => 'small', + ], + ], + [ + 'name' => 'PayType', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的付费类型。取值: '."\n" + ."\n" + .'- **PREPAY**:包年包月。'."\n" + ."\n" + .'- **POSTPAY**:按量计费 。', + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + 'default' => 'PREPAY', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => ' 包年包月的计费周期,取值: '."\n" + ."\n" + .'- **Month**(默认值):按月购买。'."\n" + ."\n" + .'- **Year**:按年购买。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + 'default' => '', + ], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长,取值:'."\n" + ."\n" + .'- 如果计费时长为**Month**,则取值为**1**~**9**。 '."\n" + .'- 如果计费时长为**Year**,则取值为**3**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付包年包月账单。取值:**true|false**。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的计费带宽(Mbps)。取值:**1**~**200**。若不设置转换映射条目的带宽,实例中的IPv6转换服务映射条目共享该带宽。 '."\n" + ."\n" + .'> 若不指定带宽,默认为10Mbps。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6TranslatorId' => [ + 'description' => 'IPv6转换服务实例ID。', + 'type' => 'string', + 'example' => 'ipv6trans-bp1i8ahxut1xxxx', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1AE05898-06E5-4782-xxxxx', + ], + 'Spec' => [ + 'description' => 'IPv6转换服务实例规格。', + 'type' => 'string', + 'example' => 'small', + ], + 'Name' => [ + 'description' => 'IPv6转换服务实例名称。', + 'type' => 'string', + 'example' => 'test_nat64gw', + ], + 'OrderId' => [ + 'description' => '创建IPv6转换服务实例的订单ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '202303300940739', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified name is not support.', + ], + [ + 'errorCode' => 'Spec.NotSupport', + 'errorMessage' => 'The specified spec does not exist in our records.', + ], + [ + 'errorCode' => 'Duration.NotSupport', + 'errorMessage' => 'The specified duration is not support.', + ], + [ + 'errorCode' => 'PricingCycle.NotSupport', + 'errorMessage' => 'The specified pricing cycle is not support.', + ], + [ + 'errorCode' => 'PayType.NotSupport', + 'errorMessage' => 'The specified pay type is not support.', + ], + [ + 'errorCode' => 'InventoryNotEnough', + 'errorMessage' => 'The inventory is not enough.', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The quota of resource is full.', + ], + [ + 'errorCode' => 'Bandwidth.NotSupport', + 'errorMessage' => 'The specified bandwidth is not support.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal Error', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::DescribeIPv6Translators', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 50, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Ipv6TranslatorId\\": \\"ipv6trans-bp1i8ahxut1xxxx\\",\\n \\"RequestId\\": \\"1AE05898-06E5-4782-xxxxx\\",\\n \\"Spec\\": \\"small\\",\\n \\"Name\\": \\"test_nat64gw\\",\\n \\"OrderId\\": 202303300940739\\n}","errorExample":"{\\n \\"Ipv6TranslatorId\\": \\"ipv6trans-bp1i8ahxut1iedrqqgbco\\", \\n \\"Name\\": \\"test_nat64gw_autopay_0725\\", \\n \\"OrderId\\": 202303300940739, \\n \\"RequestId\\": \\"1AE05898-06E5-4782-B4D0-6714DD94C4E6\\", \\n \\"Spec\\": \\"small\\"\\n}"},{"type":"xml","example":"\\n\\n\\tipv6trans-bp1i8ahxut1iexxxx\\n\\ttest_nat64gw\\n\\t202303300940739\\n\\t1AE05898-06E5-4782-B4D0-xxxxx\\n\\tsmall\\n","errorExample":"\\n\\n\\tipv6trans-bp1i8ahxut1iedrqqgbco\\n\\ttest_nat64gw_autopay_0725\\n\\t202303300940739\\n\\t1AE05898-06E5-4782-B4D0-6714DD94C4E6\\n\\tsmall\\n"}]', + 'title' => '创建IPv6转换服务实例', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIPv6TranslatorAclList' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 要删除的访问控制策略组ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6transacl-bp1de2****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIPv6TranslatorACLId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorACL.Used', + 'errorMessage' => 'The specified ipv6 translator acl is be used.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除访问控制策略组', + 'summary' => '删除访问控制策略组。只有当访问控制策略组没有绑定任何IPv6转换映射时,才可以删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIPv6TranslatorEntry' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用**DescribeRegions**接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6TranslatorEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 要删除的IPv6转换服务映射条目ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6transentry-bp1g8bhrde****', + ], + ], + [ + 'name' => 'Ipv6TranslatorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务的实例ID。 '."\n" + ."\n" + .'> 如果您不指定**Ipv6TranslatorEntryId**参数,则删除指定实例下所有的映射条目。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6trans-bp1858ys****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8B2F5262-6B57-43F2-xxxxx', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIPv6TranslatorId.NotFound', + 'errorMessage' => 'The specified ipv6 translator gateway instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorEntryId.NotFound', + 'errorMessage' => 'The specified ipv6 translator entry id does not exist.', + ], + [ + 'errorCode' => 'IPv6Translator.Configuring', + 'errorMessage' => 'The specified ipv6 translator is configuring.', + ], + [ + 'errorCode' => 'IPv6Translator.FinancialLocked', + 'errorMessage' => 'The specified ipv6 translator is financial locked.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorId.CoexistWithEntryId', + 'errorMessage' => 'The entry id and instance id can not be specified together', + ], + [ + 'errorCode' => 'MissingEntryOrInstanceId', + 'errorMessage' => 'The entry or instance id is not supplied', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B2F5262-6B57-43F2-xxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8B2F5262-6B57-43F2-xxxxx\\n","errorExample":""}]', + 'title' => '删除IPv6转换映射条目', + 'summary' => '删除IPv6转换映射条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIPv6Translator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'ClientToken', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6TranslatorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6trans-bp1i8ahxut1ie****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IPv6Translator.Configuring', + 'errorMessage' => 'The specified ipv6 translator is configuring.', + ], + [ + 'errorCode' => 'Nat64Gateway.Configuring', + 'errorMessage' => 'The specified IPv6 translator is configuring.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'ForbiddenRelease', + 'errorMessage' => 'Forbidden to release a prepaid instance within validity period', + ], + ], + [ + [ + 'errorCode' => 'InvalidIPv6TranslatorId.NotFound', + 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除IPv6转换服务实例', + 'summary' => '删除IPv6转换服务实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIPv6TranslatorAclListEntry' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组的地域。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP条目所在的访问控制策略组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6transacl-bp1b4z3tleyhq1s50****', + ], + ], + [ + 'name' => 'AclEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP条目所在的访问控制策略组条目的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6transaclentry-bp1jzyn7ra8pyxehd****', + ], + ], + [ + 'name' => 'AclEntryComment', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组条目的备注信息。'."\n" + ."\n" + .'长度为2~100个字符,以大小字母或中文开头,可包含数字、下划线(_)或短划线(-)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'client IP', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorAclEntryId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl entry id does not exist.', + ], + [ + 'errorCode' => 'InvalidEntryComment', + 'errorMessage' => 'The specified value of comment not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改访问控制策略组中的IP条目', + 'summary' => '修改访问控制策略组中的IP条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIPv6TranslatorAclAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用 DescribeRegions接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 要修改的访问控制策略组ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6transacl-bp1de2****', + ], + ], + [ + 'name' => 'AclName', + 'in' => 'query', + 'schema' => [ + 'description' => ' 访问控制策略组名称。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'acl1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified name is not valid', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidIPv6TranslatorACLId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改访问控制策略组的名称', + 'summary' => '修改访问控制策略组的名称。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIPv6TranslatorBandwidth' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用**DescribeRegions**接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Ipv6TranslatorId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务的实例ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6trans-bp1858ys****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的带宽峰值,取值:**1**~**200**。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '2', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付预付费实例的账单,取值: '."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .'- **false**(默认值):否。 '."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '202304500950739', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'EF8198EE-8FC9-49C2-A22E-xxxx', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIPv6TranslatorId.NotFound', + 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidBandwidth.NotSupport', + 'errorMessage' => 'The specified bandwidth is not support.', + ], + [ + 'errorCode' => 'IPv6Translator.Configuring', + 'errorMessage' => 'The specified ipv6 translator is configuring.', + ], + [ + 'errorCode' => 'InvalidBandwidth.DowngradeForbidden', + 'errorMessage' => 'The bandwidth downgrade is forbidden.', + ], + [ + 'errorCode' => 'InvalidBandwidth.NotEnough', + 'errorMessage' => 'The specified bandwidth is not enough.', + ], + [ + 'errorCode' => 'InvalidBandwidth.NotChange', + 'errorMessage' => 'The specified bandwidth does not change.', + ], + [ + 'errorCode' => 'IPv6Translator.FinancialLocked', + 'errorMessage' => 'The specified ipv6 translator is financial locked.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal Error', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"202304500950739\\",\\n \\"RequestId\\": \\"EF8198EE-8FC9-49C2-A22E-xxxx\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 202304500950739\\n EF8198EE-8FC9-49C2-A22E-xxxx\\n","errorExample":""}]', + 'title' => '修改IPv6转换服务实例的带宽', + 'summary' => '修改IPv6转换服务实例的带宽。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIPv6TranslatorAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用**DescribeRegions**接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'sha1111', + ], + ], + [ + 'name' => 'Ipv6TranslatorId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6trans-bp1858ys****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的名称,默认为实例ID。长度为 2~100个字符,必须以字母或中文开头,可包含数字,英文句点(.),下划线(_)和短划线(-)。但不能以http:// 或https://开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'instancename', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务的描述信息。默认值为空。长度为2~100个字符,必须以字母或中文开头,可包含数字,英文句点(.),下划线(_)和短划线(-)。但不能以http:// 或https://开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'instancedescription', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8B2F5262-6B57-43F2-xxxxx', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified name is not valid', + ], + [ + 'errorCode' => 'InvalidDescription', + 'errorMessage' => 'The specified description is not valid', + ], + [ + 'errorCode' => ' IPv6Translator.Configuring', + 'errorMessage' => 'The specified ipv6 translator is configuring.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidIPv6TranslatorId.NotFound', + 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B2F5262-6B57-43F2-xxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8B2F5262-6B57-43F2-xxxxx\\n","errorExample":""}]', + 'title' => '修改IPv6转换服务实例属性', + 'summary' => '修改IPv6转换服务实例的名称和描述信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyIPv6TranslatorEntry' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用 DescribeRegions接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6TranslatorEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务映射条目ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ipv6trans-bp1858ys****', + ], + ], + [ + 'name' => 'EntryName', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换映射条目的名称。长度为2~100个字符,必须以字母或中文开头,可包含数字,英文句号(.),下划线(_)和短划线(-)。但不能以http:// 或https://开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'entry1', + ], + ], + [ + 'name' => 'EntryDescription', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换映射条目的描述信息。长度为2~100个字符,必须以字母或中文开头,可包含数字,英文句号(.),下划线(_)和短划线(-)。但不能以http:// 或https://开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'entrydescription', + ], + ], + [ + 'name' => 'AllocateIpv6Port', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例分配的IPv6地址的使用端口。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'BackendIpv4Addr', + 'in' => 'query', + 'schema' => [ + 'description' => ' 需要提供IPv6服务的公网IPv4地址(IPv4-only的服务器的IPv4地址)。 ', + 'type' => 'string', + 'required' => false, + 'example' => '47.11.XX.XX', + ], + ], + [ + 'name' => 'BackendIpv4Port', + 'in' => 'query', + 'schema' => [ + 'description' => '需要提供IPv6服务的公网IPv4地址的端口。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'TransProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '协议类型。取值:'."\n" + ."\n" + .'- **tcp**:转发TCP协议的报文。 '."\n" + .'- **udp**:转发UDP协议的报文。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'EntryBandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换映射条目的带宽峰值。单位:Mbps。取值: '."\n" + ."\n" + .'- **-1**(默认值):不限制IPv6转换映射条目的带宽峰值。 '."\n" + ."\n" + .'- **1**~**200**:改映射条目的带宽值。'."\n" + ."\n" + .'> 所有IPv6转换映射条目的带宽峰值之和不能超过实例的带宽峰值。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启访问控制。取值:'."\n" + .'- **on**:开启。'."\n" + .'- **off**:不开启。', + 'type' => 'string', + 'required' => false, + 'example' => 'off', + ], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略类型:'."\n" + ."\n" + .'- **white**:允许访问策略组中的IPv6地址访问后端服务。'."\n" + ."\n" + .'- **black**:禁止访问策略组中的IPv6地址访问后端服务。', + 'type' => 'string', + 'required' => false, + 'example' => 'white', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => '关联的访问控制策略组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6transacl-bp1de27sou71g0lf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified value of name not supported.', + ], + [ + 'errorCode' => 'InvalidDescription', + 'errorMessage' => 'The specified value of description not supported.', + ], + [ + 'errorCode' => 'InvalidIpAddress.AlreadyExist', + 'errorMessage' => 'The specified ip address is already exist.', + ], + [ + 'errorCode' => 'InvalidIpAddress.WrongFormat', + 'errorMessage' => 'The specified ip address is invalid.', + ], + [ + 'errorCode' => 'InvalidIpAddress.PrivateAddress', + 'errorMessage' => 'The specified private ip address is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidPort', + 'errorMessage' => 'The specified port is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidProtocol', + 'errorMessage' => 'The specified transProtocol is invalid.', + ], + [ + 'errorCode' => 'IPv6Translator.Configuring', + 'errorMessage' => 'The specified ipv6 translator is configuring.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.IPv6Conflict', + 'errorMessage' => 'The specified ipv6 port conflict.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.IPv4Conflict', + 'errorMessage' => 'The specified ipv4 port and address conflict.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.AclIdNull', + 'errorMessage' => 'The acl id must not be null.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl id does not exist.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidAclType', + 'errorMessage' => 'The specified acl type is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidAclStatus', + 'errorMessage' => 'The specified acl status is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidBandwidth', + 'errorMessage' => 'The specified bandwidth is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidIPv6TranslatorEntryId.NotFound', + 'errorMessage' => 'The specified ipv6 translator entry id does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改IPv6转换映射条目', + 'summary' => '修改IPv6转换映射条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIPv6TranslatorAclLists' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组的地域。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 访问控制策略组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6transacl-bp1de2****', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AclName', + 'in' => 'query', + 'schema' => [ + 'description' => ' 访问控制策略组的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'acl1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询的条目总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Ipv6TranslatorAcls' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IPv6TranslatorAcl' => [ + 'description' => '查询到的访问控制策略组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '访问控制策略组结构体。', + 'type' => 'object', + 'properties' => [ + 'AclName' => [ + 'description' => '访问控制策略组的名称。', + 'type' => 'string', + 'example' => 'acl1', + ], + 'AclId' => [ + 'description' => '访问控制策略组的ID。', + 'type' => 'string', + 'example' => 'ipv6transacl-bp1de2****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified value of name is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 20,\\n \\"Ipv6TranslatorAcls\\": {\\n \\"IPv6TranslatorAcl\\": [\\n {\\n \\"AclName\\": \\"acl1\\",\\n \\"AclId\\": \\"ipv6transacl-bp1de2****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n 1\\n 20\\n \\n acl1\\n ipv6transacl-bp1de2****\\n \\n","errorExample":""}]', + 'title' => '查询已创建的访问控制策略组', + 'summary' => '查询已创建的访问控制策略组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIPv6TranslatorAclListAttributes' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组的地域。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6transacl-bp1de2****', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'AclId' => [ + 'description' => '访问控制策略组ID。 ', + 'type' => 'string', + 'example' => 'ipv6transacl-bp1de2****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '页码条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '查询到的条目总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'AclName' => [ + 'description' => '访问控制策略组名称。', + 'type' => 'string', + 'example' => 'acl1', + ], + 'AclEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclEntry' => [ + 'description' => ' 访问控制策略组列表。 ', + 'type' => 'array', + 'items' => [ + 'description' => '访问控制策略组结构体。', + 'type' => 'object', + 'properties' => [ + 'AclEntryComment' => [ + 'description' => ' 访问控制策略组条目的备注信息。 ', + 'type' => 'string', + 'example' => 'client IP', + ], + 'AclEntryId' => [ + 'description' => ' 访问控制策略组条目的ID。', + 'type' => 'string', + 'example' => 'ipv6transaclentry-bp105jrs****', + ], + 'AclEntryIp' => [ + 'description' => '访问控制策略组条目的IP地址。', + 'type' => 'string', + 'example' => '12ab:0:0:XXXX::0102/128', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclId\\": \\"ipv6transacl-bp1de2****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 20,\\n \\"AclName\\": \\"acl1\\",\\n \\"AclEntries\\": {\\n \\"AclEntry\\": [\\n {\\n \\"AclEntryComment\\": \\"client IP\\",\\n \\"AclEntryId\\": \\"ipv6transaclentry-bp105jrs****\\",\\n \\"AclEntryIp\\": \\"12ab:0:0:XXXX::0102/128\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n ipv6transacl-bp1de2****\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n 1\\n 10\\n 20\\n acl1\\n \\n client IP\\n ipv6transaclentry-bp105jrs****\\n 12ab:0:0:XXXX::0102/128\\n \\n","errorExample":""}]', + 'title' => '查询访问控制策略组详细信息', + 'summary' => '查询访问控制策略组的详细信息,包括访问控制策略组中的IP和关联的IPv6转换映射条目的具体信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIPv6Translators' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6TranslatorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6trans-bp1858ys****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的名称。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6_1', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的规格,取值:**small**(小型)。', + 'type' => 'string', + 'required' => false, + 'example' => 'small', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的状态,取值:'."\n" + ."\n" + .'- **init**:初始化。'."\n" + ."\n" + .'- **provisioning**:准备中。'."\n" + ."\n" + .'- **active**:可用。'."\n" + ."\n" + .'- **updating**:更新中。'."\n" + ."\n" + .'- **upgrading**:升级中。'."\n" + ."\n" + .'- **deleting**:删除中。'."\n" + ."\n" + .'- **deleted**:已删除。', + 'type' => 'string', + 'required' => false, + 'example' => 'active', + ], + ], + [ + 'name' => 'AllocateIpv6Addr', + 'in' => 'query', + 'schema' => [ + 'description' => ' 为IPv6转换服务实例分配的IPv6地址。 ', + 'type' => 'string', + 'required' => false, + 'example' => '2400:3200:1600::XXXX', + ], + ], + [ + 'name' => 'AllocateIpv4Addr', + 'in' => 'query', + 'schema' => [ + 'description' => ' 为IPv6转换服务实例分配的IPv4地址。', + 'type' => 'string', + 'required' => false, + 'example' => '47.99.XX.XX', + ], + ], + [ + 'name' => 'PayType', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的付费类型。取值:'."\n" + ."\n" + .'- **Prepay**:包年包月。'."\n" + ."\n" + .'- **Postpay**:按量计费。', + 'type' => 'string', + 'required' => false, + 'example' => 'Prepay', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'BusinessStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的业务状态,取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:被锁定。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Ipv6Translators' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Translator' => [ + 'description' => '查询到的IPv6转换服务实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6转换服务实例结构体。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => ' IPv6转换服务实例的状态。 ', + 'type' => 'string', + 'example' => 'active', + ], + 'Spec' => [ + 'description' => ' IPv6转换服务实例的规格。 ', + 'type' => 'string', + 'example' => 'small', + ], + 'CreateTime' => [ + 'description' => 'IPv6转换服务实例的创建时间的时间戳。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1537151540000', + ], + 'PayType' => [ + 'description' => 'IPv6转换服务实例的付费类型。'."\n" + ."\n" + .'- **Prepay**:包年包月。'."\n" + ."\n" + .'- **Postpay**:按量计费。', + 'type' => 'string', + 'example' => 'Prepay', + ], + 'Ipv6TranslatorId' => [ + 'description' => ' IPv6转换服务实例的ID。 ', + 'type' => 'string', + 'example' => 'ipv6trans-bp1858ys*****', + ], + 'AllocateIpv4Addr' => [ + 'description' => '分配的IPv6转换服务实例的IPv4地址。', + 'type' => 'string', + 'example' => '47.99.XX.XX', + ], + 'AvailableBandwidth' => [ + 'description' => 'IPv6转换服务实例可用的带宽。', + 'type' => 'string', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => 'IPv6转换服务实例的地域。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'EndTime' => [ + 'description' => 'IPv6转换服务实例的到期时间的时间戳。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1539792000000', + ], + 'Description' => [ + 'description' => 'IPv6转换服务实例的描述。', + 'type' => 'string', + 'example' => 'descriptionforinstance', + ], + 'Bandwidth' => [ + 'description' => 'IPv6转换服务实例的带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'BusinessStatus' => [ + 'description' => 'IPv6转换服务实例的业务状态。'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:被锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'AllocateIpv6Addr' => [ + 'description' => '分配的IPv6转换服务实例的IPv6地址。', + 'type' => 'string', + 'example' => '2400:3200:1600::XXXX', + ], + 'Name' => [ + 'description' => ' IPv6转换服务实例的名称。 ', + 'type' => 'string', + 'example' => 'test', + ], + 'Ipv6TranslatorEntryIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6TranslatorEntryId' => [ + 'description' => 'IPv6转换服务实例的转换映射条目ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6转换服务实例的转换映射条目ID。', + 'type' => 'string', + 'example' => '["ipv6transentry-bp1kp5ixtm3001vmn****", "ipv6transentry-bp16dg87v006zwrd6****"]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'PayType.NotSupport', + 'errorMessage' => 'The specified pay type is not support.', + ], + [ + 'errorCode' => 'BusinessStatus.NotSupport', + 'errorMessage' => 'The specified business status is not supported.', + ], + [ + 'errorCode' => 'InvalidIpAddress.WrongFormat', + 'errorMessage' => 'The specified ip address is invalid.', + ], + [ + 'errorCode' => 'Status.NotSupport', + 'errorMessage' => 'The specified value of status is not supported.', + ], + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified value of name is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Ipv6Translators\\": {\\n \\"Ipv6Translator\\": [\\n {\\n \\"Status\\": \\"active\\",\\n \\"Spec\\": \\"small\\",\\n \\"CreateTime\\": 1537151540000,\\n \\"PayType\\": \\"Prepay\\",\\n \\"Ipv6TranslatorId\\": \\"ipv6trans-bp1858ys*****\\",\\n \\"AllocateIpv4Addr\\": \\"47.99.XX.XX\\",\\n \\"AvailableBandwidth\\": \\"1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": 1539792000000,\\n \\"Description\\": \\"descriptionforinstance\\",\\n \\"Bandwidth\\": 1,\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"AllocateIpv6Addr\\": \\"2400:3200:1600::XXXX\\",\\n \\"Name\\": \\"test\\",\\n \\"Ipv6TranslatorEntryIds\\": {\\n \\"Ipv6TranslatorEntryId\\": [\\n \\"[\\\\\\"ipv6transentry-bp1kp5ixtm3001vmn****\\\\\\", \\\\\\"ipv6transentry-bp16dg87v006zwrd6****\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n 1\\n 1\\n \\n active\\n small\\n 1537151540000\\n Prepay\\n ipv6trans-bp1858ys*****\\n 47.99.XX.XX\\n 1\\n cn-hangzhou\\n 1539792000000\\n descriptionforinstance\\n 1\\n Normal\\n 2400:3200:1600::XXXX\\n test\\n [\\"ipv6transentry-bp1kp5ixtm3001vmn****\\", \\"ipv6transentry-bp16dg87v006zwrd6****\\"]\\n \\n","errorExample":""}]', + 'title' => '查询已创建的IPv6转换服务实例列表', + 'summary' => '查询已创建的IPv6转换服务实例列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIPv6TranslatorEntries' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例的地域。 您可以通过调用**DescribeRegions**接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Ipv6TranslatorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例的ID。 ', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'ipv6trans-bp1858ysxx****', + ], + ], + [ + 'name' => 'Ipv6TranslatorEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的IPv6转换映射条目ID。 '."\n" + ."\n" + .'> 如果**Ipv6TranslatorId**参数和**Ipv6TranslatorEntryId**参数的值都为空,则返回所有IPv6转换映射条目信息。如果仅是**Ipv6TranslatorEntryId**参数的值为空,则返回当前IPv6转换服务实例下的所有IPv6转换映射条目信息。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6transentry-bp1g8bhrde****', + ], + ], + [ + 'name' => 'EntryName', + 'in' => 'query', + 'schema' => [ + 'description' => ' Pv6转换映射条目的名称。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'entryname', + ], + ], + [ + 'name' => 'AllocateIpv6Addr', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6转换服务实例分配的IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '2400:3200:1600::XX', + ], + ], + [ + 'name' => 'AllocateIpv6Port', + 'in' => 'query', + 'schema' => [ + 'description' => ' IPv6转换服务实例分配的IPv6地址使用的端口。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'BackendIpv4Addr', + 'in' => 'query', + 'schema' => [ + 'description' => ' 需要提供IPv6服务的公网IPv4地址 ', + 'type' => 'string', + 'required' => false, + 'example' => '47.99.XX.XX', + ], + ], + [ + 'name' => 'BackendIpv4Port', + 'in' => 'query', + 'schema' => [ + 'description' => ' 需要提供IPv6服务的公网IPv4地址使用的端口。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'TransProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => ' 转发数据的协议类型。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启访问控制。取值:'."\n" + .'- **on**:开启。'."\n" + .'- **off**:不开启。', + 'type' => 'string', + 'required' => false, + 'example' => 'off', + ], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略类型。取值:'."\n" + ."\n" + .'- **white**:允许访问策略组中的IPv6地址访问后端服务。'."\n" + ."\n" + .'- **black**:禁止访问策略组中的IPv6地址访问后端服务。', + 'type' => 'string', + 'required' => false, + 'example' => 'white', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv6transacl-bp1de2****', + ], + ], + [ + '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' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含多少条目。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Ipv6TranslatorEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6TranslatorEntry' => [ + 'description' => '查询到的IPv6转换映射条目。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6转换映射结构体。', + 'type' => 'object', + 'properties' => [ + 'AclType' => [ + 'description' => '访问控制策略类型。'."\n" + ."\n" + .'- **white**:允许访问策略组中的IPv6地址访问后端服务。'."\n" + ."\n" + .'- **black**:禁止访问策略组中的IPv6地址访问后端服务。', + 'type' => 'string', + 'example' => 'white', + ], + 'EntryStatus' => [ + 'description' => 'IPv6转换映射条目的状态。', + 'type' => 'string', + 'example' => 'active', + ], + 'TransProtocol' => [ + 'description' => '协议类型。', + 'type' => 'string', + 'example' => 'tcp', + ], + 'Ipv6TranslatorId' => [ + 'description' => ' IPv6转换映射条目所属的IPv6转换服务实例ID。 ', + 'type' => 'string', + 'example' => 'ipv6trans-bp1858ys****', + ], + 'EntryDescription' => [ + 'description' => 'IPv6转换映射条目的描述。', + 'type' => 'string', + 'example' => 'description', + ], + 'Ipv6TranslatorEntryId' => [ + 'description' => ' IPv6转换映射条目ID。 ', + 'type' => 'string', + 'example' => 'ipv6transentry-bp1g8bhrde****', + ], + 'AllocateIpv6Port' => [ + 'description' => ' IPv6转换服务实例分配的IPv6地址的使用端口。 ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'BackendIpv4Addr' => [ + 'description' => '后端IPv4服务器的公网IP地址。', + 'type' => 'string', + 'example' => '47.99.XX.XX', + ], + 'BackendIpv4Port' => [ + 'description' => '需要提供IPv6访问的IPv4服务器所使用的公网IPv4端口。', + 'type' => 'string', + 'example' => '80', + ], + 'RegionId' => [ + 'description' => ' IPv6转换服务实例的地域。 ', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'EntryBandwidth' => [ + 'description' => 'IPv6转换映射条目的带宽。', + 'type' => 'string', + 'example' => '1', + ], + 'AclId' => [ + 'description' => '关联的访问控制策略组ID。', + 'type' => 'string', + 'example' => 'ipv6transacl-bp1de2****', + ], + 'EntryName' => [ + 'description' => 'IPv6转换映射条目的名称。', + 'type' => 'string', + 'example' => 'name', + ], + 'AclStatus' => [ + 'description' => '是否开启了访问控制。', + 'type' => 'string', + 'example' => 'on', + ], + 'AllocateIpv6Addr' => [ + 'description' => '分配的IPv6转换服务实例的IPv6地址。', + 'type' => 'string', + 'example' => '2400:3200:1600::XX', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidName', + 'errorMessage' => 'The specified value of name not supported.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidPort', + 'errorMessage' => 'The specified port is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidProtocol', + 'errorMessage' => 'The specified transProtocol is invalid.', + ], + [ + 'errorCode' => 'InvalidIpAddress.WrongFormat', + 'errorMessage' => 'The specified ip address is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidAclStatus', + 'errorMessage' => 'The specified acl status is invalid.', + ], + [ + 'errorCode' => 'IPv6TranslatorEntry.InvalidAclType', + 'errorMessage' => 'The specified acl type is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Ipv6TranslatorEntries\\": {\\n \\"Ipv6TranslatorEntry\\": [\\n {\\n \\"AclType\\": \\"white\\",\\n \\"EntryStatus\\": \\"active\\",\\n \\"TransProtocol\\": \\"tcp\\",\\n \\"Ipv6TranslatorId\\": \\"ipv6trans-bp1858ys****\\",\\n \\"EntryDescription\\": \\"description\\",\\n \\"Ipv6TranslatorEntryId\\": \\"ipv6transentry-bp1g8bhrde****\\",\\n \\"AllocateIpv6Port\\": 80,\\n \\"BackendIpv4Addr\\": \\"47.99.XX.XX\\",\\n \\"BackendIpv4Port\\": \\"80\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EntryBandwidth\\": \\"1\\",\\n \\"AclId\\": \\"ipv6transacl-bp1de2****\\",\\n \\"EntryName\\": \\"name\\",\\n \\"AclStatus\\": \\"on\\",\\n \\"AllocateIpv6Addr\\": \\"2400:3200:1600::XX\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n 1\\n 1\\n \\n white\\n active\\n tcp\\n ipv6trans-bp1858ys****\\n description\\n ipv6transentry-bp1g8bhrde****\\n 80\\n 47.99.XX.XX\\n 80\\n cn-hangzhou\\n 1\\n ipv6transacl-bp1de2****\\n name\\n on\\n 2400:3200:1600::XX\\n \\n","errorExample":""}]', + 'title' => '查询IPv6转换映射条目', + 'summary' => '查询IPv6转换映射条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RemoveIPv6TranslatorAclListEntry' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略组的地域。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => '访问控制策略条目所属的访问控制策略组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6transacl-bp1de2****', + ], + ], + [ + 'name' => 'AclEntryId', + 'in' => 'query', + 'schema' => [ + 'description' => '要删除的访问控制策略条目ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ipv6transaclentry-bp105jrs****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回数据结构体。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidIPv6TranslatorAclEntryId.NotFound', + 'errorMessage' => 'The specified ipv6 translator acl entry id does not exist.', + ], + [ + 'errorCode' => 'IPv6TranslatorAcl.DeleteLastEntry', + 'errorMessage' => 'The last acl entry can not be deleted when ipv6 translator acl is be used.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除访问控制策略组中的IP条目', + 'summary' => '删除访问控制策略组中的IP条目。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeRegions' => [ + 'summary' => '调用DescribeRegions接口查询可用的地域。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => [ + 'description' => '产品类型,默认值为**VPC**。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '返回值语言,取值: '."\n" + .' '."\n" + .'- **zh-CN**(默认值):中文。'."\n" + ."\n" + .'- **en-US**:英文。'."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', + ], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Region' => [ + 'description' => '可用地域的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '可用地域的集合。', + 'type' => 'object', + 'properties' => [ + 'RegionEndpoint' => [ + 'description' => '地域服务的Endpoint。', + 'type' => 'string', + 'example' => 'vpc.aliyuncs.com', + ], + 'LocalName' => [ + 'description' => '地域名称。', + 'type' => 'string', + 'example' => '华北 1', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"RegionEndpoint\\": \\"vpc.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北 1\\",\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\n \\n vpc.aliyuncs.com\\n 华北 1\\n cn-qingdao\\n \\n","errorExample":""}]', + 'title' => '查询可以使用的阿里云地域', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeZones' => [ + 'summary' => '调用DescribeZones接口查询指定地域中可用区的列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneType', + 'in' => 'query', + 'schema' => [ + 'description' => '查询可用区的类型,默认取值为**AvailabilityZone**即普通云上可用区。', + 'type' => 'string', + 'required' => false, + 'example' => 'AvailabilityZone', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '返回值可用区名称**LocalName**的显示语言。取值:'."\n" + ."\n" + .'- **zh-cn**:中文。'."\n" + ."\n" + .'- **en-us**:英文。'."\n" + ."\n" + .'- **ja**:日文。', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-cn', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'Zones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Zone' => [ + 'description' => '可用区的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-b', + ], + 'LocalName' => [ + 'description' => '可用区名称。', + 'type' => 'string', + 'example' => '华东 1 可用区 B', + ], + 'ZoneType' => [ + 'description' => '查询到的可用区的类型,默认取值为**AvailabilityZone**即普通云上可用区。', + 'type' => 'string', + 'example' => 'AvailabilityZone', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"Zones\\": {\\n \\"Zone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"LocalName\\": \\"华东 1 可用区 B\\",\\n \\"ZoneType\\": \\"AvailabilityZone\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 6FEA0CF3-D3B9-43E5-A304-D217037876A8\\n \\n cn-hangzhou-b\\n 华东 1 可用区 B\\n AvailabilityZone\\n \\n","errorExample":""}]', + 'title' => '查询指定地域中可用区的列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'TagResources' => [ + '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" + .'- **VPC**:表示资源类型为专有网络实例。'."\n" + .'- **VSWITCH**:表示资源类型为交换机实例。'."\n" + .'- **ROUTETABLE**:表示资源类型为路由表实例。'."\n" + .'- **EIP**:表示资源类型为弹性公网IP实例。'."\n" + .'- **VPNGATEWAY**:表示资源类型为VPN网关实例。'."\n" + .'- **NATGATEWAY**:表示资源类型为NAT网关实例。'."\n" + .'- **COMMONBANDWIDTHPACKAGE**:表示资源类型为共享带宽实例。'."\n" + .'- **PREFIXLIST**:表示资源类型为前缀列表实例。'."\n" + .'- **PUBLICIPADDRESSPOOL**:表示资源类型为IP地址池实例。'."\n" + .'- **IPV4GATEWAY**:表示资源类型为IPv4网关实例。'."\n" + .'- **IPV6GATEWAY**:表示资源类型为IPv6网关实例。'."\n" + .'- **NETWORKACL**:表示资源类型为网络ACL实例。'."\n" + .'- **TRAFFICMIRRORFILTER**:表示资源类型为流量镜像筛选条件实例。'."\n" + .'- **TRAFFICMIRRORSESSION**:表示资源类型为流量镜像会话实例。'."\n" + .'- **FLOWLOG**:表示资源类型为流日志实例。'."\n" + .'- **HAVIP**:表示资源类型为高可用虚拟IP实例。'."\n" + .'- **DHCPOPTIONSSET**:表示资源类型为DHCP选项集实例。'."\n" + .'- **GATEWAYENDPOINT**:表示资源类型为网关终端节点实例。'."\n" + .'- **IPV6ADDRESS**:表示资源类型为IPv6地址实例。'."\n" + ."\n\n" + .'> 输入的资源类型取值不区分大小写。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID,最多支持输入50个资源ID。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入50个资源ID。'."\n" + ."\n" + .'> 调用该API时,**ResourceId.N**参数必须输入。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp16qjewdsunr41m1****', + ], + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp16qjewdsunr41m1****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建并绑定标签的资源所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'> 调用该API时,必须输入**Tag.N.Key**参数,且不能是空字符串。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。至少输入1个标签值,最多支持输入20个标签值。'."\n" + ."\n" + .'一个标签值最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'> 调用该API时,必须输入**Tag.N.Value**参数,且可以是空字符串。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => true, + 'docRequired' => true, + 'example' => 'TagResources', + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。'."\n" + ."\n", + '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' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + [ + 'errorCode' => 'MissingParameter.TagValue', + 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParam.Tags', + 'errorMessage' => 'You must specify the Tags parameter.', + ], + [ + 'errorCode' => 'DuplicatedParam.ResourceIds', + 'errorMessage' => 'The parameter of ResourceIds contains duplicate values.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C46FF5A8-C5F0-4024-8262-B16B639225A0\\n","errorExample":""}]', + 'title' => '为指定的资源统一创建并绑定标签', + 'description' => '标签是您为实例分配的标记,每个标签都由一对键值对(Key-Value)组成。标签的使用说明如下: '."\n" + ."\n" + .'- 一个实例上的每条标签的标签键(Key)必须唯一。'."\n" + ."\n" + .'- 不支持未绑定实例的空标签存在,标签必须绑定在实例上。'."\n" + ."\n" + .'- 不同地域下的标签信息不互通。 '."\n" + ."\n" + .' 例如在华东1(杭州)地域创建的标签在华东2(上海)地域不可见。'."\n" + ."\n" + .'- 同账号同地域下,专有网络、路由表、交换机和弹性公网IP的标签信息互通。 '."\n" + ."\n" + .' 例如在同账号同地域下,专有网络绑定了某个标签,那么您可以在交换机、路由表或弹性公网IP的编辑标签页面,直接选择将该标签绑定到实例上,而无需手动输入标签的键值信息。您可以修改标签的键和值,也可以随时删除实例的标签。如果删除实例,绑定实例的所有标签也会被删除。'."\n" + ."\n" + .'- 单个实例最多可绑定20条标签。绑定标签前,阿里云会校验资源已有标签数量。超过限制值后返回报错信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'TagResourcesForExpressConnect' => [ + 'summary' => '调用TagResourcesForExpressConnect接口为指定的高速通道专线实例统一创建并绑定标签。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + .'- **PHYSICALCONNECTION**:表示高速通道专线实例。'."\n" + .'- **VIRTUALBORDERROUTER**:表示边界路由器。'."\n" + .'- **ROUTERINTERFACE**:表示VBR上连。'."\n" + .'- **TRAFFICQOS**:表示QoS策略。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'PHYSICALCONNECTION', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建并绑定标签的资源所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。最多支持输入20个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入20个资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp16qjewdsunr41m1****', + ], + 'required' => true, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如果传入该值,则不能输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + '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.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + [ + 'errorCode' => 'MissingParameter.TagValue', + 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '为指定的高速通道专线实例统一创建并绑定标签', + 'description' => '标签是您为实例分配的标记,每个标签都由一对键值对(Key-Value)组成。标签的使用说明如下: '."\n" + ."\n" + .'- 一个实例上的每条标签的标签键(Key)必须唯一。'."\n" + ."\n" + .'- 不支持未绑定实例的空标签存在,标签必须绑定在实例上。'."\n" + ."\n" + .'- 不同地域下的标签信息不互通。 '."\n" + ."\n" + .' 例如在华东1(杭州)地域创建的标签在华东2(上海)地域不可见。'."\n" + ."\n" + .'- 单个实例最多可绑定20条标签。绑定标签前,阿里云会校验资源已有标签数量。超过限制值后返回报错信息。', + ], + '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" + .'- **VPC**:表示资源类型为专有网络实例。'."\n" + .'- **VSWITCH**:表示资源类型为交换机实例。'."\n" + .'- **ROUTETABLE**:表示资源类型为路由表实例。'."\n" + .'- **EIP**:表示资源类型为弹性公网IP实例。'."\n" + .'- **VPNGATEWAY**:表示资源类型为VPN网关实例。'."\n" + .'- **NATGATEWAY**:表示资源类型为NAT网关实例。'."\n" + .'- **COMMONBANDWIDTHPACKAGE**:表示资源类型为共享带宽实例。'."\n" + .'- **PREFIXLIST**:表示资源类型为前缀列表实例。'."\n" + .'- **PUBLICIPADDRESSPOOL**:表示资源类型为IP地址池实例。'."\n" + .'- **IPV4GATEWAY**:表示资源类型为IPv4网关实例。'."\n" + .'- **IPV6GATEWAY**:表示资源类型为IPv6网关实例。'."\n" + .'- **NETWORKACL**:表示资源类型为网络ACL实例。'."\n" + .'- **TRAFFICMIRRORFILTER**:表示资源类型为流量镜像筛选条件实例。'."\n" + .'- **TRAFFICMIRRORSESSION**:表示资源类型为流量镜像会话实例。'."\n" + .'- **FLOWLOG**:表示资源类型为流日志实例。'."\n" + .'- **HAVIP**:表示资源类型为高可用虚拟IP实例。'."\n" + .'- **DHCPOPTIONSSET**:表示资源类型为DHCP选项集实例。'."\n" + .'- **GATEWAYENDPOINT**:表示资源类型为网关终端节点实例。'."\n" + .'- **IPV6ADDRESS**:表示资源类型为IPv6地址实例。'."\n" + ."\n" + .'> 输入的资源类型取值不区分大小写。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'description' => '是否解绑资源的所有标签。取值:'."\n" + .'- **true**:解除资源的所有标签。'."\n" + .'- **false**(默认值):不解除资源的所有标签。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。最多支持解绑50个资源ID。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持解绑50个资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp16qjewdsunr41m1****', + ], + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp16qjewdsunr41m1****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要解绑的标签键。最多支持输入20个标签键。'."\n" + ."\n\n" + .'一个标签键最多支持128个字符,可以为空字符串,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '要解绑的标签键。最多支持输入20个标签键。'."\n" + ."\n\n" + .'一个标签键最多支持128个字符,可以为空字符串,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'required' => false, + 'example' => 'FinanceDept', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou ', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。'."\n" + ."\n", + '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' => 'Forbidden.NotAllowedCategary', + 'errorMessage' => 'The System tag is not valid', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + [ + 'errorCode' => 'DuplicatedParam.ResourceIds', + 'errorMessage' => 'The parameter of ResourceIds contains duplicate values.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C46FF5A8-C5F0-4024-8262-B16B639225A0\\t\\n","errorExample":""}]', + 'title' => '为资源列表统一解绑标签', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UntagResourcesForExpressConnect' => [ + 'summary' => '调用UntagResourcesForExpressConnect接口为高速通道指定的资源列表统一解绑标签。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + .'- **PHYSICALCONNECTION**:表示高速通道专线实例。'."\n" + .'- **VIRTUALBORDERROUTER**:表示边界路由器。'."\n" + .'- **ROUTERINTERFACE**:表示VBR上连。'."\n" + .'- **TRAFFICQOS**:表示QoS策略。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'PHYSICALCONNECTION', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'description' => '是否解绑资源的所有标签。取值:'."\n" + ."\n" + .'- **true**:解除资源的所有标签。'."\n" + .'- **false**(默认值):不解除资源的所有标签。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入20个资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp16qjewdsunr41m1****', + ], + 'required' => true, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + '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' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494AC512\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DE65F6B7-7566-4802-9007-96F2494AC512\\n","errorExample":""}]', + 'title' => '为高速通道指定的资源列表统一解绑标签', + ], + 'ListTagResources' => [ + 'summary' => '查询云资源已经绑定的标签列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + .'- **VPC**:表示资源类型为专有网络实例。'."\n" + .'- **VSWITCH**:表示资源类型为交换机实例。'."\n" + .'- **ROUTETABLE**:表示资源类型为路由表实例。'."\n" + .'- **EIP**:表示资源类型为弹性公网IP实例。'."\n" + .'- **VPNGATEWAY**:表示资源类型为VPN网关实例。'."\n" + .'- **NATGATEWAY**:表示资源类型为NAT网关实例。'."\n" + .'- **COMMONBANDWIDTHPACKAGE**:表示资源类型为共享带宽实例。'."\n" + .'- **PREFIXLIST**:表示资源类型为前缀列表实例。'."\n" + .'- **PUBLICIPADDRESSPOOL**:表示资源类型为IP地址池实例。'."\n" + .'- **IPV4GATEWAY**:表示资源类型为IPv4网关实例。'."\n" + .'- **IPV6GATEWAY**:表示资源类型为IPv6网关实例。'."\n" + .'- **NETWORKACL**:表示资源类型为网络ACL实例。'."\n" + .'- **TRAFFICMIRRORFILTER**:表示资源类型为流量镜像筛选条件实例。'."\n" + .'- **TRAFFICMIRRORSESSION**:表示资源类型为流量镜像会话实例。'."\n" + .'- **FLOWLOG**:表示资源类型为流日志实例。'."\n" + .'- **HAVIP**:表示资源类型为高可用虚拟IP实例。'."\n" + .'- **DHCPOPTIONSSET**:表示资源类型为DHCP选项集实例。'."\n" + .'- **GATEWAYENDPOINT**:表示资源类型为网关终端节点实例。'."\n" + .'- **IPV6ADDRESS**:表示资源类型为IPv6地址实例。'."\n" + ."\n" + .'> 输入的资源类型取值不区分大小写。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页大小,取值范围:**1**~**50**,默认值:**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'example' => '50', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。最多支持50个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入50个资源ID。'."\n" + ."\n" + .'> 参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**)至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp16qjewdsunr41m1****', + ], + 'required' => false, + 'example' => 'vpc-bp16qjewdsunr41m1****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签键。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持20个标签键。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能是空字符串,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'> 参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**)至少输入一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持20个标签值。'."\n" + ."\n" + .'最多支持128个字符,可以是空字符串,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + ."\n" + .'> 参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**)至少输入一个。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'example' => 'ListTagResources', + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回的信息。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', + ], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => '绑定标签的资源信息。', + 'type' => 'array', + 'items' => [ + 'description' => '绑定标签的资源信息。', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => '资源类型。取值:'."\n" + .'- **VPC**:表示资源类型为专有网络实例。'."\n" + .'- **VSWITCH**:表示资源类型为交换机实例。'."\n" + .'- **ROUTETABLE**:表示资源类型为路由表实例。'."\n" + .'- **EIP**:表示资源类型为弹性公网IP实例。'."\n" + .'- **VPNGATEWAY**:表示资源类型为VPN网关实例。'."\n" + .'- **NATGATEWAY**:表示资源类型为NAT网关实例。'."\n" + .'- **COMMONBANDWIDTHPACKAGE**:表示资源类型为共享带宽实例。'."\n" + .'- **PREFIXLIST**:表示资源类型为前缀列表实例。'."\n" + .'- **PUBLICIPADDRESSPOOL**:表示资源类型为IP地址池实例。'."\n" + .'- **IPV4GATEWAY**:表示资源类型为IPv4网关实例。'."\n" + .'- **IPV6GATEWAY**:表示资源类型为IPv6网关实例。'."\n" + .'- **NETWORKACL**:表示资源类型为网络ACL实例。'."\n" + .'- **TRAFFICMIRRORFILTER**:表示资源类型为流量镜像筛选条件实例。'."\n" + .'- **TRAFFICMIRRORSESSION**:表示资源类型为流量镜像会话实例。'."\n" + .'- **FLOWLOG**:表示资源类型为流日志实例。'."\n" + .'- **HAVIP**:表示资源类型为高可用虚拟IP实例。'."\n" + .'- **DHCPOPTIONSSET**:表示资源类型为DHCP选项集实例。'."\n" + .'- **GATEWAYENDPOINT**:表示资源类型为网关终端节点实例。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'vpc-bp16qjewdsunr41m1****', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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' => 'Forbidden.NotAllowedCategary', + 'errorMessage' => 'The System tag is not valid', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + [ + 'errorCode' => 'BothEmpty.TagsAndResources', + 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', + ], + [ + 'errorCode' => 'MissingParam.ResourceType', + 'errorMessage' => 'The param of ResourceType is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'BothEmpty.TagsAndResources', + 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494AC512\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"VPC\\",\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"ResourceId\\": \\"vpc-bp16qjewdsunr41m1****\\",\\n \\"TagKey\\": \\"FinanceDept\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n DE65F6B7-7566-4802-9007-96F2494AC512\\n \\n VPC\\n FinanceJoshua\\n vpc-bp16qjewdsunr41m1****\\n FinanceDept\\n \\n","errorExample":""}]', + 'title' => '查询云资源已经绑定的标签列表', + 'description' => '- 请求中至少指定参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**),以确定检索对象。'."\n" + ."\n" + .'- **Tag.N**是资源的标签,由一个键值对组成。仅指定**Tag.N.Key**时,则返回该标签键关联的所有标签值。仅指定**Tag.N.Value**会报错。'."\n" + ."\n" + .'- 如果您同时指定**Tag.N**和**ResourceId.N**筛选标签,则**ResourceId.N**必须满足所有输入的标签键值对。'."\n" + ."\n" + .'- 如果您同时指定多个标签键值对,返回结果为同时包含被指定的多个键值对的资源。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeTags' => [ + 'summary' => '调用DescribeTags接口查询满足筛选条件的标签列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + .'- **VPC**:表示资源类型为专有网络实例。'."\n" + .'- **VSWITCH**:表示资源类型为交换机实例。'."\n" + .'- **ROUTETABLE**:表示资源类型为路由表实例。'."\n" + .'- **EIP**:表示资源类型为弹性公网IP实例。'."\n" + .'- **VPNGATEWAY**:表示资源类型为VPN网关实例。'."\n" + .'- **NATGATEWAY**:表示资源类型为NAT网关实例。'."\n" + .'- **COMMONBANDWIDTHPACKAGE**:表示资源类型为共享带宽实例。'."\n" + .'- **PREFIXLIST**:表示资源类型为前缀列表实例。'."\n" + .'- **PUBLICIPADDRESSPOOL**:表示资源类型为IP地址池实例。'."\n" + .'- **IPV4GATEWAY**:表示资源类型为IPv4网关实例。'."\n" + .'- **IPV6GATEWAY**:表示资源类型为IPv6网关实例。'."\n" + .'- **NETWORKACL**:表示资源类型为网络ACL实例。'."\n" + .'- **TRAFFICMIRRORFILTER**:表示资源类型为流量镜像筛选条件实例。'."\n" + .'- **TRAFFICMIRRORSESSION**:表示资源类型为流量镜像会话实例。'."\n" + .'- **FLOWLOG**:表示资源类型为流日志实例。'."\n" + .'- **HAVIP**:表示资源类型为高可用虚拟IP实例。'."\n" + .'- **DHCPOPTIONSSET**:表示资源类型为DHCP选项集实例。'."\n" + .'- **GATEWAYENDPOINT**:表示资源类型为网关终端节点实例。'."\n" + ."\n" + .'> 输入的资源类型取值不区分大小写。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResult', + 'in' => 'query', + 'schema' => [ + 'description' => '分页大小,取值范围:1~50,默认值:50。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'example' => '50', + 'default' => '100', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。最多支持输入50个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入50个资源ID。'."\n" + ."\n" + .'> 当输入此参数时,必须输入**ResourceType**参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp16qjewdsunr41m1****', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签集合。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签集合。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能是空字符串,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。'."\n" + ."\n\n" + .'一个标签值最多支持128个字符,可以是空字符串,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', + ], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => '所有满足筛选条件的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'BothEmpty.TagsAndResources', + 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParameter.TagValue', + 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', + ], + [ + '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' => 'Forbidden.NotAllowedCategary', + 'errorMessage' => 'The System tag is not valid', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"TagKey\\": \\"FinanceDept\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n C46FF5A8-C5F0-4024-8262-B16B639225A0\\n \\n FinanceJoshua\\n FinanceDept\\n \\n","errorExample":""}]', + 'title' => '查询满足筛选条件的标签列表', + 'description' => '- 请求中至少指定参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**),以确定检索对象。'."\n" + ."\n" + .'- **Tag.N**是资源的标签,由一个键值对组成。仅指定**Tag.N.Key**时,则返回该标签键关联的所有标签值。仅指定**Tag.N.Value**会报错。'."\n" + ."\n" + .'- 如果您同时指定**Tag.N**和**ResourceId.N**筛选标签,则**ResourceId.N**须满足任意输入的标签键值对。'."\n" + ."\n" + .'- 如果您同时指定多个标签键值对,返回结果为所有满足任意标签值对的标签。', + ], + 'DescribeTagKeys' => [ + 'summary' => '调用DescribeTagKeys接口返回标签键。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'- **VPC**:专有网络实例。'."\n" + .'- **VSWITCH**:交换机实例。'."\n" + .'- **ROUTETABLE**:路由表实例。'."\n" + .'- **EIP**:弹性公网IP实例。'."\n" + .'- **VpnGateWay**:VPN网关实例。'."\n" + .'- **NATGATEWAY**:NAT网关实例。'."\n" + .'- **COMMONBANDWIDTHPACKAGE**:共享带宽实例。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'Keyword', + 'in' => 'query', + 'schema' => [ + 'description' => '标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'keyword', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResult', + 'in' => 'query', + 'schema' => [ + 'description' => '分页大小,取值范围:1~50,默认值:50。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'example' => '50', + 'default' => '100', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。最多支持输入50个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入50个资源ID。'."\n" + ."\n" + .'> 当输入该参数时,必须输入**ResourceType**参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp16qjewdsunr41m1****', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => ' object', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', + ], + 'TagKeys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagKey' => [ + 'description' => '标签键集合。', + 'type' => 'array', + 'items' => [ + 'description' => '标签键集合。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '标签键的类型。取值:'."\n" + ."\n" + .'- **Custom**:用户自定义类型。'."\n" + .'- **System**:系统类型。'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'BothEmpty.TagsAndResources', + 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParameter.TagValue', + 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', + ], + [ + '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' => 'Forbidden.NotAllowedCategary', + 'errorMessage' => 'The System tag is not valid', + ], + [ + 'errorCode' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494AC512\\",\\n \\"TagKeys\\": {\\n \\"TagKey\\": [\\n {\\n \\"Type\\": \\"Custom\\",\\n \\"TagKey\\": \\"FinanceDept\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n DE65F6B7-7566-4802-9007-96F2494AC512\\n \\n Custom\\n FinanceDept\\n \\n","errorExample":""}]', + 'title' => '查询标签键', + ], + 'ListTagResourcesForExpressConnect' => [ + 'summary' => '调用ListTagResourcesForExpressConnect接口查询高速通道已经绑定的标签列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + .'- **PHYSICALCONNECTION**:表示高速通道专线实例。'."\n" + .'- **VIRTUALBORDERROUTER**:表示边界路由器。'."\n" + .'- **ROUTERINTERFACE**:表示VBR上连。'."\n" + .'- **TRAFFICQOS**:表示QoS策略。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'PHYSICALCONNECTION', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'example' => '20', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入20个资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp16qjewdsunr41m1****', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如果传入该值,则不能输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => '标签资源列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签资源列表。', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => '资源类型。取值:'."\n" + .'- **PHYSICALCONNECTION**:表示高速通道专线实例。'."\n" + .'- **VIRTUALBORDERROUTER**:表示边界路由器。'."\n" + .'- **ROUTERINTERFACE**:表示VBR上连。', + 'type' => 'string', + 'example' => 'PHYSICALCONNECTION', + ], + 'TagValue' => [ + 'description' => '资源的标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'pc-bp16qjewdsunr41m1****', + ], + 'TagKey' => [ + 'description' => '资源的标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + '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' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.TagNum', + 'errorMessage' => 'The maximum number of tags is exceeded.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'BothEmpty.TagsAndResources', + 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"PHYSICALCONNECTION\\",\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"ResourceId\\": \\"pc-bp16qjewdsunr41m1****\\",\\n \\"TagKey\\": \\"FinanceDept\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n \\n PHYSICALCONNECTION\\n FinanceJoshua\\n pc-bp16qjewdsunr41m1****\\n FinanceDept\\n \\n","errorExample":""}]', + 'title' => '查询高速通道已经绑定的标签列表', + 'description' => '- 如您需要确认检索对象,请求参数中需指定参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**)。'."\n" + ."\n" + .'- **Tag.N**是资源的标签,由一个键值对组成。仅指定**Tag.N.Key**时,则返回该标签键关联的所有标签值。仅指定**Tag.N.Value**会报错。'."\n" + ."\n" + .'- 如果您同时指定**Tag.N**和**ResourceId.N**筛选标签,则**ResourceId.N**必须满足所有输入的标签键值对。'."\n" + ."\n" + .'- 如果您同时指定多个标签键值对,返回结果为同时包含被指定的多个键值对的资源。', + ], + 'DescribeTagKeysForExpressConnect' => [ + 'summary' => '调用DescribeTagKeysForExpressConnect接口返回高速通道的标签列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + .'- **PHYSICALCONNECTION**:表示高速通道专线实例。'."\n" + .'- **VIRTUALBORDERROUTER**:表示边界路由器。'."\n" + .'- **ROUTERINTERFACE**:表示VBR上连。'."\n" + .'- **TRAFFICQOS**:表示QoS策略。', + 'type' => 'string', + 'required' => false, + 'example' => 'PHYSICALCONNECTION', + ], + ], + [ + 'name' => 'Keyword', + 'in' => 'query', + 'schema' => [ + 'description' => '标签名称的关键字。支持模糊匹配,即输入关键字即可查询包含该关键字的所有标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'keyword', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResult', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'example' => '20', + 'default' => '100', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。最多支持输入20个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。最多支持输入20个资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'pc-bp16qjewdsunr41m1****', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'TagKeys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagKey' => [ + 'description' => '标签键的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '标签键的集合。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '标签键类型。取值:'."\n" + .'- **Custom**:表示自定义标签键。'."\n" + .'- **System**:表示系统生成的标签键。', + 'type' => 'string', + 'example' => 'System', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'BothEmpty.TagsAndResources', + 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParameter.TagValue', + 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + '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' => 'Forbidden.TagKey.Duplicated', + 'errorMessage' => 'The specified tag key already exists.', + ], + [ + 'errorCode' => 'SizeLimitExceeded.ResourceId', + 'errorMessage' => 'The maximum number of resource IDs is exceeded.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"TagKeys\\": {\\n \\"TagKey\\": [\\n {\\n \\"Type\\": \\"System\\",\\n \\"TagKey\\": \\"FinanceDept\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n \\n PHYSICALCONNECTION\\n FinanceDept\\n \\n","errorExample":""}]', + 'title' => '查询高速通道的标签列表', + ], + 'CreateRouterInterface' => [ + 'summary' => '调用CreateRouterInterface接口创建路由器接口。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Role', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的角色,取值: '."\n" + .' '."\n" + .'- **InitiatingSide**:连接发起端。 '."\n" + ."\n" + .'- **AcceptingSide**:连接接收端。 '."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'InitiatingSide', + ], + ], + [ + 'name' => 'OppositeRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '连接接收端所在的地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的规格。可用的规格和对应的带宽取值如下: '."\n" + .' '."\n" + .'- **Mini.2**:2 Mbps '."\n" + ."\n" + .'- **Mini.5**:5 Mbps '."\n" + ."\n" + .'- **Small.1**:10 Mbps '."\n" + ."\n" + .'- **Small.2**:20 Mbps '."\n" + .' '."\n" + .'- **Small.5**:50 Mbps '."\n" + ."\n" + .'- **Middle.1**:100 Mbps '."\n" + ."\n" + .'- **Middle.2**:200 Mbps '."\n" + ."\n" + .'- **Middle.5**:500 Mbps '."\n" + ."\n" + .'- **Large.1**:1000 Mbps '."\n" + ."\n" + .'- **Large.2**:2000 Mbps '."\n" + ."\n" + .'- **Large.5**:5000 Mbps '."\n" + ."\n" + .'- **Xlarge.1**:10000 Mbps '."\n" + ."\n" + .'> 当**Role**为**AcceptingSide**(连接接收端)时,**Spec**取值为**Negative**即创建接收端路由器接口时不涉及规格。 '."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Mini.2', + ], + ], + [ + 'name' => 'RouterType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口关联的路由器类型,取值: '."\n" + ."\n" + .'- **VRouter**:VPC路由器。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + .' '."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VRouter', + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 路由器接口关联的路由器ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vbr-m5ebm6g9ptc9mly1c****', + ], + ], + [ + 'name' => 'OppositeInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 对端路由器接口ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ri-2zeo3xzyf38r4urzd****', + ], + ], + [ + 'name' => 'OppositeRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 对端路由器的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vrt-bp1lhl0taikrteen8****', + ], + ], + [ + 'name' => 'OppositeRouterType', + 'in' => 'query', + 'schema' => [ + 'description' => '对端路由器接口关联的路由器类型,取值: '."\n" + ."\n" + .'- **VRouter**:VPC路由器。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VRouter', + 'default' => 'VRouter', + ], + ], + [ + 'name' => 'OppositeInterfaceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端路由器接口的所有者的阿里云账号ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => '253460731706911258', + ], + ], + [ + 'name' => 'HealthCheckSourceIp', + 'in' => 'query', + 'schema' => [ + 'description' => '健康检查源IP地址,必须是本端VPC内的一个未被使用的IP。 '."\n" + ."\n" + .'> 物理专线接入场景下可指定该参数。'."\n" + .' '."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.6', + ], + ], + [ + 'name' => 'HealthCheckTargetIp', + 'in' => 'query', + 'schema' => [ + 'description' => '健康检查目的IP地址。 '."\n" + ."\n" + .'> 当指定了**HealthCheckSourceIp**后,该参数必填。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.8', + ], + ], + [ + 'name' => 'AccessPointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VBR所属的接入点ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeAccessPoints](~~36062~~)接口获取物理专线接入点ID。 '."\n" + .' '."\n" + .'> 物理专线接入场景下需指定该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'ap-cn-hangzhou-yh-ts-A', + ], + ], + [ + 'name' => 'OppositeAccessPointId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端所属的接入点ID。'."\n" + ."\n" + .'> 对端路由器接口位于VBR上时需指定该参数,创建路由器接口后无法修改。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ap-cn-shanghai-nt-aligroup-C', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的描述信息。 '."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http:// `或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'abcabc', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的名称。 '."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'abc', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长,取值: '."\n" + ."\n" + .'- 当选择按月付费时,取值范围为**1~9**。'."\n" + ."\n" + .'- 当选择按年付费时,取值范围为**1~3**。'."\n" + ."\n" + .'> **InstanceChargeType**参数的值为**PrePaid**时,该参数必填。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的付费方式,取值: '."\n" + ."\n" + .'- **PrePaid**:预付费。'."\n" + ."\n" + .'- **PostPaid**:后付费。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动付费,取值: '."\n" + .' '."\n" + .'- **false**(默认值):不开启自动付费,生成订单后需要到订单中心完成支付。 '."\n" + ."\n" + .'- **true**:开启自动付费,自动支付订单。 '."\n" + ."\n" + .'> **InstanceChargeType**参数的值为**PrePaid**时,该参数必填。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => '预付费的计费周期,取值: '."\n" + .' '."\n" + .'- **Month**(默认值):按月付费。'."\n" + ."\n" + .'- **Year**:按年付费。 '."\n" + .' '."\n" + ."\n" + .'> **InstanceChargeType**参数的值为**PrePaid**时,该参数必填。'."\n" + .' '."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。 '."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。 '."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。 '."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。 '."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'FastLinkMode', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '是否为使用快速连接模式创建的VBR上联路由器接口,快速连接模式可实现VBR和VPC两端路由器接口创建完毕后自动完成连接。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。'."\n" + ."\n\n" + .'> - 该参数只在**RouterType**取值为**VBR**,**OppositeRouterType**参数取值为**VRouter**时生效。'."\n" + .'- 当**FastLinkMode**参数取值为**true**时,**Role**参数必须取值为**InitiatingSide**,**AccessPointId**、**OppositeRouterType**、**OppsiteRouterId**和**OppositeInterfaceOwnerId**参数为必选。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开通自动续费。取值:'."\n" + ."\n" + .'- **false**(默认值):不开通。'."\n" + .'- **true**:开通。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如果传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '079874CD-AEC1-43E6-AC03-ADD96B6E4907', + ], + 'OrderId' => [ + 'description' => '订单号,选择预付费时返回该参数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20210101123456', + ], + 'RouterInterfaceId' => [ + 'description' => '路由器接口的ID。', + 'type' => 'string', + 'example' => 'ri-2ze7fbuohm****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPrice.NotFound', + 'errorMessage' => 'Pricing plan result not found.', + ], + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'Invalid Aliuid.', + ], + [ + 'errorCode' => 'InvalidRole.ValueNotSupported', + 'errorMessage' => 'The specified Role is not valid.', + ], + [ + 'errorCode' => 'InvalidSpec.ValudNotSupported', + 'errorMessage' => 'The specified Spec is not supported.', + ], + [ + 'errorCode' => 'InvalidRouterType.ValueNotSupported', + 'errorMessage' => 'The specified RouterType is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified "Name" is not valid.', + ], + [ + 'errorCode' => 'Forbidden.BillsOutstanding', + 'errorMessage' => 'You cannot create more RouterInterface because you have bills outstanding.', + ], + [ + 'errorCode' => 'LimitationExceed.InterfaceNumberOnRouter', + 'errorMessage' => 'Total number of RouterInterfaces on a Router exceeded.', + ], + [ + 'errorCode' => 'Forbidden.NotInRouterInterfaceCreateWhitelist', + 'errorMessage' => 'Not in router interface create whitelist.', + ], + [ + 'errorCode' => 'RI_CREATE_ONE_LIMIT_BY_SYNC', + 'errorMessage' => 'Create ri only one limit by sync.', + ], + [ + 'errorCode' => 'InvalidAccessPoint.ValueNotAllowed', + 'errorMessage' => 'The non-vbr router interface cannot have access point configured.', + ], + [ + 'errorCode' => 'InvalidParam.NotFound', + 'errorMessage' => 'Parameter must not be null,uid, bid,regionNo, remoteRegionNo, routerId or accessPointId', + ], + [ + 'errorCode' => 'InvalidAccessPoint.NotMatch', + 'errorMessage' => 'The accessPoint id is not matched', + ], + [ + 'errorCode' => 'InvalidAccessPoint.NotExist', + 'errorMessage' => 'The accessPoint not exit', + ], + [ + 'errorCode' => 'INVAID_VBR_STATUS', + 'errorMessage' => 'VBR status must be active', + ], + [ + 'errorCode' => 'IncorrectStatus.CenStatus', + 'errorMessage' => 'Cen status must not be middle status.', + ], + [ + 'errorCode' => 'Forbidden.AcceptRoleNotSupportPrePay', + 'errorMessage' => 'Acception side ri not support chargetype for prepaid.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceSpec.Malformed', + 'errorMessage' => 'Specified RouterInterface spec is not valid.', + ], + [ + 'errorCode' => 'VpcSubnet.NotFound', + 'errorMessage' => 'Vpc subnet not exist.', + ], + [ + 'errorCode' => 'IllegalParam.HealthcheckIp', + 'errorMessage' => 'Healthcheck ip cannot equal with instance ip.', + ], + [ + 'errorCode' => 'OperationFailed.HcForInvalidRiType', + 'errorMessage' => 'Healthchecksourceip and healthchecktargetip is only valid for vr ri that is connected to vbr.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'IllegalParam.CrossBorderBandwidth', + 'errorMessage' => 'CrossBorder bandwidth error.', + ], + [ + 'errorCode' => 'IllegalParam.VRouterType', + 'errorMessage' => 'The VRouterType is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.Spec', + 'errorMessage' => 'The spec is illegal.', + ], + [ + 'errorCode' => 'Forbidden.CrossBorder', + 'errorMessage' => 'User not authorized to create cross border routerInterface.', + ], + [ + 'errorCode' => 'InvalidRouterId.NotFound', + 'errorMessage' => 'Param is not valid,this user does not have this router or aliuid bid regionNo and routerId must have something wrong.', + ], + [ + 'errorCode' => 'InvalidCommodity.NotFound', + 'errorMessage' => 'Commodity is not exist.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceChargeType.Malformed', + 'errorMessage' => 'Specified RouterInterface ChargeType is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.RegionId', + 'errorMessage' => 'The specified regionId is illegal.', + ], + [ + 'errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', + 'errorMessage' => 'User withhoding argeement is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'RiPerUser quota exceeded', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in ec region list.', + ], + [ + 'errorCode' => 'ResourceNotInResourceGroup', + 'errorMessage' => 'The specified resource is not in the specified ResourceGroup.', + ], + [ + 'errorCode' => 'HaveConnectionBetweenRouters', + 'errorMessage' => 'Have connection between routers', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidBandwidth.NotEnough', + 'errorMessage' => 'Bandwidth not enough.', + ], + [ + 'errorCode' => 'ForbiddenAction', + 'errorMessage' => 'The user does not support this action.', + ], + [ + 'errorCode' => 'OperationFailed.NotSupportIPv6', + 'errorMessage' => 'Router interface not support IPv6.', + ], + [ + 'errorCode' => 'InvalidParam.AvailableZoneId', + 'errorMessage' => 'The specified AvailableZoneId did not retrieve the corresponding cluster IP address.', + ], + [ + 'errorCode' => 'OperationFailed.NoAvailableAmount', + 'errorMessage' => 'The available amount of your account is less than 0, please recharge before attempting to purchase.', + ], + [ + 'errorCode' => 'OperationFailed.OperationLocked', + 'errorMessage' => 'Operation failed because OperationLocked.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidEcGrant', + 'errorMessage' => 'The VBR have no grant to create EC.', + ], + [ + 'errorCode' => 'OperationFailed.CannotConnectOtherOwnerInstance', + 'errorMessage' => 'Can not connect with other owner VPC or CEN.', + ], + [ + 'errorCode' => 'InvalidParams.NotNull', + 'errorMessage' => 'params must not null.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterId.NotFound', + 'errorMessage' => 'The specified RouterId does not exist in our recored.', + ], + [ + 'errorCode' => 'InvalidRouterId.AttacedToCEN', + 'errorMessage' => 'Can not create ri when attaced to CEN.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"079874CD-AEC1-43E6-AC03-ADD96B6E4907\\",\\n \\"OrderId\\": 20210101123456,\\n \\"RouterInterfaceId\\": \\"ri-2ze7fbuohm****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 079874CD-AEC1-43E6-AC03-ADD96B6E4907\\n 20210101123456\\n ri-2ze7fbuohm****\\n","errorExample":""}]', + 'title' => '创建路由器接口', + 'description' => '调用本接口创建路由器接口时,请注意: '."\n" + ."\n" + .'- 任意两个路由器之间,最多只能存在一对互连的路由器接口。 '."\n" + ."\n" + .'- 一个路由器上可以最多创建5个路由器接口。 '."\n" + ."\n" + .'- 如果账户下存在欠费状态的路由器接口,则无法再创建路由器接口。 '."\n" + ."\n" + .'- 同一路由表下的路由条目的目标网段(DestinationCidrBlock)不允许相同。 '."\n" + ."\n" + .'- 边界路由器VBR(Virtual Border Router)只能是连接发起端,并且是已激活状态。 '."\n" + .' '."\n" + .'- 通过本接口可以创建预付费和后付费的路由器接口。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteRouterInterface' => [ + 'summary' => '调用DeleteRouterInterface接口删除路由器接口。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 路由器接口的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ri-2zeo3xzyf38r4urz****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstance.StatusError', + 'errorMessage' => 'The router instance status error.', + ], + [ + 'errorCode' => 'OperationFailed.OperationLocked', + 'errorMessage' => 'Operation failed because OperationLocked.', + ], + [ + 'errorCode' => 'RouterInterfaceReferredByRouteEntry', + 'errorMessage' => 'Router interface referred by route entry.', + ], + [ + 'errorCode' => 'ReferredByRouteEntry.RouterInterface', + 'errorMessage' => 'Router interface referred by route entry.', + ], + [ + 'errorCode' => 'InvalidRouteTable.NotFound', + 'errorMessage' => 'The specified routetable does not exist.', + ], + [ + 'errorCode' => 'Forbbiden.InvaildOwner', + 'errorMessage' => 'Incorrect RouterInterface owner.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '删除路由器接口', + 'description' => '调用本接口删除路由器接口时,请注意: '."\n" + ."\n" + .'- 只能删除处于**Idle**和**Inactive**状态的路由器接口。 '."\n" + .'- 删除路由器接口之前,需要删除所有指向它的自定义路由条目。 ', + ], + 'DeleteExpressConnect' => [ + 'summary' => '删除高速通道实例,包含发起端和接收端。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '高速通道所在的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '高速通道的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ri-119mfjz****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除关联的路由条目。'."\n" + ."\n" + .'- **true**:强制删除。'."\n" + ."\n" + .'- **false**:不删除。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。 ', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.RouterInterface', + 'errorMessage' => 'This openeration would not be allowed because the status of this RouterInterface is not correct.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', + 'errorMessage' => 'RouterInterface cannot be deleted when it is refered by a route table entry as next hop.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceChargeType.Malformed', + 'errorMessage' => 'The prepaid routerinterface can not delete.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceOppositeChargeType.Malformed', + 'errorMessage' => 'Opposite routerinterface is prepaid and can not delete.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'Vpc incorrect status.', + ], + [ + 'errorCode' => 'OperationFailed.OperationLocked', + 'errorMessage' => 'Operation failed because OperationLocked.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The routerInterface is not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus.VSwitchOrRouteEntry', + 'errorMessage' => 'vpc has no stable subnet or route entry.', + ], + [ + 'errorCode' => 'DependencyViolation.ClassicLinkEcsRouteEntry', + 'errorMessage' => 'RouterInterface cannot be deleted when it is used by cross account classicLink.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal system error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n980960B0-2969-40BF-8542-EBB34FD358AB\\r\\n","errorExample":""}]', + 'title' => '删除高速通道实例', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyRouterInterfaceAttribute' => [ + 'summary' => '调用ModifyRouterInterfaceAttribute接口修改路由器接口的配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 路由器接口ID。 '."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ri-2zeo3xzyf38r4urz****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、下划线(_)和短划线(-)。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'TEST', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的描述信息。 '."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http:// `或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => '路由器接口', + ], + ], + [ + 'name' => 'OppositeInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端路由器接口ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ri-2zeo3xzyf38r4urz****', + ], + ], + [ + 'name' => 'OppositeRouterId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端路由器ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vrt-bp1jcg5cmxjbl9xgc****', + ], + ], + [ + 'name' => 'OppositeRouterType', + 'in' => 'query', + 'schema' => [ + 'description' => '要连接的对端路由器接口所属的路由器类型。取值:'."\n" + ."\n" + .'- **VRouter**:路由器。'."\n" + ."\n" + .'- **VBR**(默认值):边界路由器。', + 'type' => 'string', + 'required' => false, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'OppositeInterfaceOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '对端路由器接口的账号ID。 ', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '28768383240243****', + ], + ], + [ + 'name' => 'HealthCheckSourceIp', + 'in' => 'query', + 'schema' => [ + 'description' => '健康检查源IP地址,必须是本端VPC内的一个未被使用的IP地址。'."\n" + ."\n" + .'> 物理专线接入场景下可指定该参数。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => '116.62.XX.XX', + ], + ], + [ + 'name' => 'HealthCheckTargetIp', + 'in' => 'query', + 'schema' => [ + 'description' => '健康检查目的IP地址。 '."\n" + ."\n" + .'> 指定**HealthCheckSourceIp**后,该参数为必选。', + 'type' => 'string', + 'required' => false, + 'example' => '116.62.XX.XX', + ], + ], + [ + 'name' => 'HcThreshold', + 'in' => 'query', + 'schema' => [ + 'description' => '健康检查阈值。单位:个。推荐值为**8**。表示指定健康检查时发送探测报文的个数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + ], + [ + 'name' => 'HcRate', + 'in' => 'query', + 'schema' => [ + 'description' => '健康检查速率。单位:毫秒。推荐值为**2000**。表示指定健康检查时发送连续探测报文的时间间隔。'."\n" + ."\n" + .'本示例**HcThreshold**设置为**8**、**HcRate**设置为**2000**,即在健康检查时每2000毫秒从**HealthCheckSourceIp**(健康检查源IP地址)向**HealthCheckTargetIp**(健康检查目的IP地址)发送一次探测报文,如果连续8次探测报文都无响应,则健康检查失败。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + ], + [ + 'name' => 'DeleteHealthCheckIp', + 'in' => 'query', + 'schema' => [ + 'description' => '是否删除该路由器接口上配置的健康检查IP。取值:'."\n" + ."\n" + .'- **true**:删除健康检查IP。'."\n" + .' '."\n" + .'- **false**(默认值):不删除健康检查IP。 ', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The attribute name is illegal.', + ], + [ + 'errorCode' => 'InvalidOppositeRouterType.ValueNotSupported', + 'errorMessage' => 'The specified OppositeRouterType is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The Description is illegal.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'The Router instance owner error', + ], + [ + 'errorCode' => 'LinkRole.NotSupport', + 'errorMessage' => 'This linkrole is not supported', + ], + [ + 'errorCode' => 'Forbbiden.ModifyIdAndType', + 'errorMessage' => 'Opposite is VBR, cannot modify the ID and type', + ], + [ + 'errorCode' => 'InvalidParam.ModifyRouterInterface', + 'errorMessage' => 'Modify routerinterface param invalid', + ], + [ + 'errorCode' => 'INSTANCE_IN_PROCESSIONG', + 'errorMessage' => 'Instance is in processing,please wait and try again', + ], + [ + 'errorCode' => 'IllegalParam.HcThreshold', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.HcRate', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidHealthCheckIP.Malformd', + 'errorMessage' => 'Healthcheck sourceip or targetip is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.HcSourceIp', + 'errorMessage' => 'The specified healthCheck Ip is not valid.', + ], + [ + 'errorCode' => 'OperationFailed.OperationLocked', + 'errorMessage' => 'Operation failed because OperationLocked.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouterInterface', + 'errorMessage' => 'This openeration would not be allowed because status of this RouterInterface is not correct.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '修改路由器接口的配置', + ], + 'ModifyRouterInterfaceSpec' => [ + 'summary' => '调用ModifyRouterInterfaceSpec接口修改路由器接口的规格。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 路由器接口所在的地域。'."\n" + ."\n" + .' 您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 路由器接口的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ri-2zeo3xzyf38r4urzd****', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的规格。可用的规格和对应的带宽如下:'."\n" + ."\n" + .'* **Mini.2**:2Mbps'."\n" + ."\n" + .'* **Mini.5**:5Mbps'."\n" + ."\n" + .'* **Small.1**:10Mbps'."\n" + ."\n" + .'* **Small.2**:20Mbps'."\n" + ."\n" + .'* **Small.5**:50Mbps'."\n" + ."\n" + .'* **Middle.1**:100Mbps'."\n" + ."\n" + .'* **Middle.2**:200Mbps'."\n" + ."\n" + .'* **Middle.5**:500Mbps'."\n" + ."\n" + .'* **Large.1**:1000 Mbps'."\n" + ."\n" + .'* **Large.2**:2000Mbps'."\n" + ."\n" + .'* **Large.5**:5000 Mbps'."\n" + ."\n" + .'* **Xlarge.1**:10000Mbps'."\n" + ."\n" + .'>当**Role**为**AcceptingSide**(连接接收端)时,**Spec**取值为**Negative**。', + 'type' => 'string', + 'required' => true, + 'example' => 'Small.1', + ], + ], + [ + '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-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '路由器接口规格。', + 'type' => 'object', + 'properties' => [ + 'Spec' => [ + 'description' => '路由器接口的规格。取值:'."\n" + ."\n" + .'* **Mini.2**:2Mbps'."\n" + ."\n" + .'* **Mini.5**:5Mbps'."\n" + ."\n" + .'* **Small.1**:10Mbps'."\n" + ."\n" + .'* **Small.2**:20Mbps'."\n" + ."\n" + .'* **Small.5**:50Mbps'."\n" + ."\n" + .'* **Middle.1**:100Mbps'."\n" + ."\n" + .'* **Middle.2**:200Mbps'."\n" + ."\n" + .'* **Middle.5**:500Mbps'."\n" + ."\n" + .'* **Large.1**:1000 Mbps'."\n" + ."\n" + .'* **Large.2**:2000Mbps'."\n" + ."\n" + .'* **Large.5**:5000 Mbps'."\n" + ."\n" + .'* **Xlarge.1**:10000Mbps', + 'type' => 'string', + 'example' => 'Small.1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'RouterInterface can not be operated by this action when it?s FinancialLocked.', + ], + [ + 'errorCode' => 'InvalidParam.NotFound', + 'errorMessage' => 'Parameter must not be null,uid, bid,regionNo, remoteRegionNo or routerId', + ], + [ + 'errorCode' => 'InvalidOppositeRegionId.NotFound', + 'errorMessage' => 'The OppositeRegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceOwner.Error', + 'errorMessage' => 'The router instance owner error.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceSpec.Malformed', + 'errorMessage' => 'Specified RouterInterface spec is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.chargeType', + 'errorMessage' => 'RouterInterface chargeType different.', + ], + [ + 'errorCode' => 'ResourceQueryError', + 'errorMessage' => 'The specified resource is queried error.', + ], + [ + 'errorCode' => ' InvalidSpec.ValueNotSupported', + 'errorMessage' => 'The specified Spec is not supported.', + ], + [ + 'errorCode' => 'InvalidSpec.ValueNotSupported', + 'errorMessage' => 'The specified Spec is not supported.', + ], + [ + 'errorCode' => 'InvalidInstance.StatusError', + 'errorMessage' => 'The router instance status error.', + ], + [ + 'errorCode' => 'InvalidOpposite.NotFound', + 'errorMessage' => 'The opposite does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Spec\\": \\"Small.1\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n Small.1\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', + 'title' => '修改路由器接口的规格', + 'description' => '调用本接口后,路由器接口进入激活中(**Activating**)状态,激活成功后进入已激活(**Active**)状态。 '."\n" + .' '."\n" + .'> 无法修改处于欠费状态的路由器接口的规格。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeRouterInterfaces' => [ + 'summary' => '调用DescribeRouterInterfaces接口查询指定地域内的路由器接口。', + '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" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => ' cn-hangzhou', + ], + ], + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含续费数据。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .'- **false**(默认值):否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**50**。默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '过滤信息。', + 'type' => 'array', + 'items' => [ + 'description' => '过滤信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '过滤条件,最多可提供5个过滤条件。支持以下过滤条件:'."\n" + ."\n" + .'- **RouterInterfaceId**:路由器接口ID。'."\n" + ."\n" + .'- **RouterId**:路由器ID。'."\n" + ."\n" + .'- **RouterType**:路由器类型,取值为**VRouter**或**VBR**。'."\n" + ."\n" + .'- **RouterInterfaceOwnerId**:路由器接口的所属账号ID。'."\n" + ."\n" + .'- **OppositeInterfaceId**:对端路由器接口ID。'."\n" + ."\n" + .'- **OppositeRouterType**:对端路由器接口类型,取值为**VRouter**或**VBR**。'."\n" + ."\n" + .'- **OppositeRouterId**:对端路由器接口ID。'."\n" + ."\n" + .'- **OppositeInterfaceOwnerId**:对端路由器接口所属账号ID。'."\n" + ."\n" + .'- **Status**:路由器接口状态。'."\n" + ."\n" + .'- **Name**:路由器接口名称。'."\n" + ."\n" + .'> 每个过滤条件的多个值之间为或关系,即只要与其中一个值吻合则视为符合该过滤条件。各个过滤条件之间为与关系,即符合所有指定的过滤条件,才会进入最终的查询结果。', + 'type' => 'string', + 'required' => false, + 'example' => 'Filter.1.Status', + ], + 'Value' => [ + 'description' => '根据Key指定过滤值。一个Key支持指定多个过滤值,每个过滤值之间是或的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'array', + 'items' => [ + 'description' => '根据Key指定过滤值。一个Key支持指定多个过滤值,每个过滤值之间是或的关系,即只要符合其中一个过滤值,则视为匹配该过滤条件。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'required' => false, + 'example' => 'Filter.1.Active 1', + 'maxItems' => 5, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C7F6FCBD-F9CC-4501-8EF3-CDC9577CAE45', + ], + 'PageNumber' => [ + 'description' => '列表的页码,默认值为**1**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的行数,最大值为**50**。默认值为**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RouterInterfaceSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouterInterfaceType' => [ + 'description' => '路由器接口的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '路由器接口的详细信息。', + 'type' => 'object', + 'properties' => [ + 'ReservationActiveTime' => [ + 'description' => '续费生效时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'example' => '2021-03-11T16:00:00Z', + ], + 'HealthCheckTargetIp' => [ + 'description' => '健康检查目标IP。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'Status' => [ + 'description' => '路由器接口的状态。', + 'type' => 'string', + 'example' => 'active', + ], + 'CreationTime' => [ + 'description' => '路由表的创建时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'ReservationOrderType' => [ + 'description' => '续费订单类型。', + 'type' => 'string', + 'example' => 'RENEWCHANGE', + ], + 'OppositeInterfaceId' => [ + 'description' => '对端路由器接口ID。', + 'type' => 'string', + 'example' => 'ri-bp1itx13bwe6f2wfh****', + ], + 'Spec' => [ + 'description' => '路由器接口的规格。', + 'type' => 'string', + 'example' => 'Large', + ], + 'ChargeType' => [ + 'description' => '付费方式。', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'RouterInterfaceId' => [ + 'description' => '路由器接口ID。', + 'type' => 'string', + 'example' => 'ri-2zenfgfpyu3v93koa****', + ], + 'HcThreshold' => [ + 'description' => '健康检查阈值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'OppositeRouterType' => [ + 'description' => '连接对端的路由器接口所属的路由器类型。', + 'type' => 'string', + 'example' => 'VRouter', + ], + 'VpcInstanceId' => [ + 'description' => '对等连接中本端VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-2ze3tq4uxhysg717x****', + ], + 'OppositeInterfaceOwnerId' => [ + 'description' => '对端路由器接口所属的账号ID。', + 'type' => 'string', + 'example' => '271598332402530847', + ], + 'OppositeVpcInstanceId' => [ + 'description' => '对端VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp1qpo0kug3a20qqe****', + ], + 'ReservationInternetChargeType' => [ + 'description' => '续费付费类型。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'CrossBorder' => [ + 'description' => '是否是跨境连接。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Bandwidth' => [ + 'description' => '路由器接口的带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Description' => [ + 'description' => '路由表接口描述。', + 'type' => 'string', + 'example' => '路由表接口描述', + ], + 'HcRate' => [ + 'description' => '健康检查速率。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ReservationBandwidth' => [ + 'description' => '续费带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '10', + ], + 'Name' => [ + 'description' => '自定义名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'OppositeRouterId' => [ + 'description' => '连接对端的路由器接口所属的路由器ID。', + 'type' => 'string', + 'example' => 'vrt-bp1d3bxtdv68tfd7g****', + ], + 'OppositeInterfaceSpec' => [ + 'description' => '连接对端路由器接口的规格。', + 'type' => 'string', + 'example' => 'Large', + ], + 'RouterId' => [ + 'description' => '路由条目所在路由器的ID。', + 'type' => 'string', + 'example' => 'vrt-bp1d3bxtdv68tfd7g****', + ], + 'OppositeInterfaceBusinessStatus' => [ + 'description' => '连接对端的路由器接口的业务状态。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'ConnectedTime' => [ + 'description' => '连接建立的时间。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'HealthCheckSourceIp' => [ + 'description' => '健康检查源IP。', + 'type' => 'string', + 'example' => '116.62.XX.XX', + ], + 'OppositeInterfaceStatus' => [ + 'description' => '连接对端的路由器接口的状态。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'EndTime' => [ + 'description' => '获取数据的结束时间点。'."\n" + ."\n" + .'时间按照ISO8601标准表示,并使用UTC时间。格式为:`YYYY-MM-DDThh:mmZ`。', + 'type' => 'string', + 'example' => '2021-06-08T12:20:55', + ], + 'OppositeRegionId' => [ + 'description' => '连接对端所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'OppositeAccessPointId' => [ + 'description' => '对端接入点ID。', + 'type' => 'string', + 'example' => 'ap-cn-shanghaiSZ-****', + ], + 'BusinessStatus' => [ + 'description' => '路由器接口的业务状态。取值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + ."\n" + .'- **SecurityLocked**:安全风控锁定。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'OppositeBandwidth' => [ + 'description' => '对端带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '12', + ], + 'RouterType' => [ + 'description' => '路由表所在路由器的类型。取值:'."\n" + ."\n" + .'- **VRouter**:VPC路由器。'."\n" + ."\n" + .'- **VBR**:边界路由器。'."\n" + .' ', + 'type' => 'string', + 'example' => 'VRouter', + ], + 'Role' => [ + 'description' => '对等连接中的角色。', + 'type' => 'string', + 'example' => 'InitiatingSide', + ], + 'HasReservationData' => [ + 'description' => '是否有续费数据。', + 'type' => 'string', + 'example' => 'false', + ], + 'AccessPointId' => [ + 'description' => '接入点ID。', + 'type' => 'string', + 'example' => 'ap-cn-shanghaiSZ-****', + ], + 'Ipv6Status' => [ + 'description' => '是否开启IPv6安全防护。取值:'."\n" + .' '."\n" + .'- **on**:开启。'."\n" + .'- **off**:关闭。'."\n" + .'- **unsupport**:不支持。', + 'type' => 'string', + 'example' => 'on', + ], + 'FastLinkMode' => [ + 'description' => '是否为使用快速连接模式创建的VBR上联路由器接口,快速连接模式可实现VBR和VPC两端路由器接口创建完毕后自动完成连接。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + ."\n" + .'- **false**(默认值):否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~94475~~)。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tags' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NotNull', + 'errorMessage' => 'The parameter must not be null.', + ], + [ + 'errorCode' => 'EndPoint.Empty', + 'errorMessage' => 'the rc endpoint is empty.', + ], + [ + 'errorCode' => 'InvalidConnectionType.MalFormed', + 'errorMessage' => 'Connection type must be vpc2vpc or vbr2vpc.', + ], + [ + 'errorCode' => 'InvalidProductForm.MalFormed', + 'errorMessage' => 'Product form must be routerinterface or expressconnect.', + ], + [ + 'errorCode' => 'InvalidRole.Malformed', + 'errorMessage' => 'role must be InitiatingSide or AcceptingSide.', + ], + [ + 'errorCode' => 'IllegalParam.AliUid', + 'errorMessage' => 'Specified value of aliuid invalid.', + ], + [ + 'errorCode' => 'Parameter.Illegal', + 'errorMessage' => 'The parameter is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C7F6FCBD-F9CC-4501-8EF3-CDC9577CAE45\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"RouterInterfaceSet\\": {\\n \\"RouterInterfaceType\\": [\\n {\\n \\"ReservationActiveTime\\": \\"2021-03-11T16:00:00Z\\",\\n \\"HealthCheckTargetIp\\": \\"116.62.XX.XX\\",\\n \\"Status\\": \\"active\\",\\n \\"CreationTime\\": \\"2021-06-08T12:20:55\\",\\n \\"ReservationOrderType\\": \\"RENEWCHANGE\\",\\n \\"OppositeInterfaceId\\": \\"ri-bp1itx13bwe6f2wfh****\\",\\n \\"Spec\\": \\"Large\\",\\n \\"ChargeType\\": \\"PayByTraffic\\",\\n \\"RouterInterfaceId\\": \\"ri-2zenfgfpyu3v93koa****\\",\\n \\"HcThreshold\\": 2,\\n \\"OppositeRouterType\\": \\"VRouter\\",\\n \\"VpcInstanceId\\": \\"vpc-2ze3tq4uxhysg717x****\\",\\n \\"OppositeInterfaceOwnerId\\": \\"271598332402530847\\",\\n \\"OppositeVpcInstanceId\\": \\"vpc-bp1qpo0kug3a20qqe****\\",\\n \\"ReservationInternetChargeType\\": \\"PayByBandwidth\\",\\n \\"CrossBorder\\": false,\\n \\"Bandwidth\\": 10,\\n \\"Description\\": \\"路由表接口描述\\",\\n \\"HcRate\\": 1,\\n \\"ReservationBandwidth\\": \\"10\\",\\n \\"Name\\": \\"test\\",\\n \\"OppositeRouterId\\": \\"vrt-bp1d3bxtdv68tfd7g****\\",\\n \\"OppositeInterfaceSpec\\": \\"Large\\",\\n \\"RouterId\\": \\"vrt-bp1d3bxtdv68tfd7g****\\",\\n \\"OppositeInterfaceBusinessStatus\\": \\"Normal\\",\\n \\"ConnectedTime\\": \\"2021-06-08T12:20:55\\",\\n \\"HealthCheckSourceIp\\": \\"116.62.XX.XX\\",\\n \\"OppositeInterfaceStatus\\": \\"Normal\\",\\n \\"EndTime\\": \\"2021-06-08T12:20:55\\",\\n \\"OppositeRegionId\\": \\"cn-shanghai\\",\\n \\"OppositeAccessPointId\\": \\"ap-cn-shanghaiSZ-****\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"OppositeBandwidth\\": 12,\\n \\"RouterType\\": \\"VRouter\\",\\n \\"Role\\": \\"InitiatingSide\\",\\n \\"HasReservationData\\": \\"false\\",\\n \\"AccessPointId\\": \\"ap-cn-shanghaiSZ-****\\",\\n \\"Ipv6Status\\": \\"on\\",\\n \\"FastLinkMode\\": false,\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n C7F6FCBD-F9CC-4501-8EF3-CDC9577CAE45\\n 1\\n 10\\n 1\\n \\n 2021-03-11T16:00:00Z\\n 116.62.XX.XX\\n active\\n 2021-06-08T12:20:55\\n RENEWCHANGE\\n ri-bp1itx13bwe6f2wfh****\\n Large\\n PayByTraffic\\n ri-2zenfgfpyu3v93koa****\\n 2\\n VRouter\\n vpc-2ze3tq4uxhysg717x****\\n 271598332402530847\\n vpc-bp1qpo0kug3a20qqe****\\n PayByBandwidth\\n false\\n 10\\n 路由表接口描述\\n 1\\n 10\\n test\\n vrt-bp1d3bxtdv68tfd7g****\\n Large\\n vrt-bp1d3bxtdv68tfd7g****\\n Normal\\n 2021-06-08T12:20:55\\n 116.62.XX.XX\\n Normal\\n 2021-06-08T12:20:55\\n cn-shanghai\\n ap-cn-shanghaiSZ-****\\n Normal\\n 12\\n VRouter\\n InitiatingSide\\n false\\n ap-cn-shanghaiSZ-****\\n on\\n false\\n rg-acfmxazb4ph6aiy****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n","errorExample":""}]', + 'title' => '查询指定地域内的路由器接口', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeEcGrantRelation' => [ + 'summary' => '调用DescribeEcGrantRelation接口查询跨账号创建VBR上连场景下VPC实例对VBR实例的授权关系。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询授权关系的实例类型。取值:'."\n" + ."\n" + .'- **VBR**:边界路由器VBR(Virtual border router)实例,表示查询VBR实例拥有哪些VPC实例的授权。'."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例,表示查询VPC实例对哪些VBR实例进行了授权。', + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询授权关系的实例ID。'."\n" + ."\n" + .'- 当**InstanceType**取值为**VBR**时,此处配置为VBR实例ID。'."\n" + ."\n" + .'- 当**InstanceType**取值为**VPC**时,此处配置为VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-bp12mw1f8k3jgygk9****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码。默认值:**1**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'VbrRegionNo', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询授权关系的VBR实例所在地域ID。'."\n" + ."\n" + .'- 当**InstanceType**为**VBR**时,该参数需要配置。'."\n" + ."\n" + .'- 当**InstanceType**为**VPC**时,该参数不需要配置。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E6E90F6B-2B41-5AAF-ABEB-236ADBAAD91D', + ], + 'EcGrantRelations' => [ + 'description' => '查询授权关系的结果列表。', + 'type' => 'array', + 'items' => [ + 'description' => '查询授权关系的结果列表。', + 'type' => 'object', + 'properties' => [ + 'VbrOwnerUid' => [ + 'description' => 'VBR实例所属的阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1210123456123456', + ], + 'VbrInstanceId' => [ + 'description' => '查询的授权关系的VBR实例ID。', + 'type' => 'string', + 'example' => 'vbr-m5ex0xf63xk8s5bob****', + ], + 'InstanceId' => [ + 'description' => '查询的授权关系的VPC实例ID。', + 'type' => 'string', + 'example' => 'vpc-bp1brjuegjc88v3u9****', + ], + 'AliUid' => [ + 'description' => '查询的授权关系的VPC所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1250123456123456', + ], + 'RegionNo' => [ + 'description' => '查询的授权关系VPC所在地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Status' => [ + 'description' => '查询授权关系的结果。取值:'."\n" + ."\n" + .'- **Created**:VPC实例与VBR实例已有授权关系。'."\n" + .'- **Deleted**:VPC实例与VBR实例没有授权关系。', + 'type' => 'string', + 'example' => 'Created', + ], + 'InstanceName' => [ + 'description' => '查询的授权关系的VPC名称。', + 'type' => 'string', + 'example' => 'VPCname', + ], + 'InstanceRouterId' => [ + 'description' => '查询的授权关系的VPC路由器ID。', + 'type' => 'string', + 'example' => 'vrt-bp1i0yzgjd8ra05ec****', + ], + 'VbrRegionNo' => [ + 'description' => '查询的授权关系的VBR实例所在地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'GmtCreate' => [ + 'description' => 'VPC实例对VBR实例的授权时间。', + 'type' => 'string', + 'example' => '2022-09-02T11:46Z', + ], + 'GrantType' => [ + 'description' => '接受授权的VBR实例的范围。取值:'."\n" + ."\n" + .'- **All**:将VPC实例授权给指定地域和阿里云账号(主账号)下的所有VBR实例。'."\n" + .'- **Specify**:将VPC实例授权给指定VBR实例。', + 'type' => 'string', + 'example' => 'All', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Count' => [ + 'description' => '查询的结果数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Page' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '分页查询时每页的行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NotNull', + 'errorMessage' => 'The parameter must not be null.', + ], + [ + 'errorCode' => 'Parameter.Illegal', + 'errorMessage' => 'The parameter is illegal.', + ], + [ + 'errorCode' => 'Instance.StatusError', + 'errorMessage' => 'The status of instance error. ', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in ec region list.', + ], + ], + 404 => [ + [ + 'errorCode' => 'VRouterId.NotFound', + 'errorMessage' => 'The VRouter not found.', + ], + [ + 'errorCode' => 'Instance.NotExist', + 'errorMessage' => 'The instance not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E6E90F6B-2B41-5AAF-ABEB-236ADBAAD91D\\",\\n \\"EcGrantRelations\\": [\\n {\\n \\"VbrOwnerUid\\": 1210123456123456,\\n \\"VbrInstanceId\\": \\"vbr-m5ex0xf63xk8s5bob****\\",\\n \\"InstanceId\\": \\"vpc-bp1brjuegjc88v3u9****\\",\\n \\"AliUid\\": 1250123456123456,\\n \\"RegionNo\\": \\"cn-hangzhou\\",\\n \\"Status\\": \\"Created\\",\\n \\"InstanceName\\": \\"VPCname\\",\\n \\"InstanceRouterId\\": \\"vrt-bp1i0yzgjd8ra05ec****\\",\\n \\"VbrRegionNo\\": \\"cn-hangzhou\\",\\n \\"GmtCreate\\": \\"2022-09-02T11:46Z\\",\\n \\"GrantType\\": \\"All\\"\\n }\\n ],\\n \\"TotalCount\\": 10,\\n \\"Count\\": 1,\\n \\"Page\\": 1,\\n \\"PageSize\\": 10\\n}","errorExample":""},{"type":"xml","example":"\\n E6E90F6B-2B41-5AAF-ABEB-236ADBAAD91D\\n \\n 1210123456123456\\n vbr-m5ex0xf63xk8s5bob****\\n vpc-bp1brjuegjc88v3u9****\\n 1250123456123456\\n cn-hangzhou\\n Created\\n VPCname\\n vrt-bp1i0yzgjd8ra05ec****\\n cn-hangzhou\\n 2022-09-02T11:46Z\\n All\\n \\n 10\\n 1\\n 1\\n 10\\n","errorExample":""}]', + 'title' => '查询跨账号创建VBR上连场景下VPC实例对VBR实例的授权关系', + ], + 'DescribeRouterInterfaceAttribute' => [ + 'summary' => '调用DescribeRouterInterfaceAttribute查看路由器接口配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的路由器接口ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ri-m5egfc10sednwk2yt****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'ReservationActiveTime' => [ + 'description' => '续费生效时间。', + 'type' => 'string', + 'example' => '2022-06-11T16:00:00Z', + ], + 'HealthCheckTargetIp' => [ + 'description' => '健康检查目标IP。', + 'type' => 'string', + 'example' => '2.2.XX.XX', + ], + 'Status' => [ + 'description' => '路由器接口的状态。取值:'."\n" + ."\n" + .'- **Idle**:未连接'."\n" + .'- **AcceptingConnecting**:接受连接中'."\n" + .'- **Connecting**: 连接中'."\n" + .'- **Activating**:激活中'."\n" + .'- **Active**:已激活'."\n" + .'- **Modifying**: 修改中'."\n" + .'- **Deactivating**:冻结中'."\n" + .'- **Inactive**:已冻结'."\n" + .'- **Deleting**:删除中', + 'type' => 'string', + 'example' => 'Active', + ], + 'CreationTime' => [ + 'description' => '路由器接口创建的时间。', + 'type' => 'string', + 'example' => '2022-04-14T08:57:24Z', + ], + 'ReservationOrderType' => [ + 'description' => '续费订单类型。取值:**RENEW**,表示续费订单。', + 'type' => 'string', + 'example' => 'RENEW', + ], + 'OppositeInterfaceId' => [ + 'description' => '对端路由器接口ID。', + 'type' => 'string', + 'example' => 'ri-bp1xkrzttximaoxbl****', + ], + 'Spec' => [ + 'description' => '路由器接口的规格。取值:'."\n" + ."\n" + .'- **Mini.2**:2 Mbps'."\n" + .'- **Mini.5**:5 Mbps'."\n" + .'- **Small.1**:10 Mbps'."\n" + .'- **Small.2**:20 Mbps'."\n" + .'- **Small.5**:50 Mbps'."\n" + .'- **Middle.1**:100 Mbps'."\n" + .'- **Middle.2**:200 Mbps'."\n" + .'- **Middle.5**:500 Mbps'."\n" + .'- **Large.1**:1000 Mbps'."\n" + .'- **Large.2**:2000 Mbps'."\n" + .'- **Large.5**:5000 Mbps'."\n" + .'- **Xlarge.1**:10000 Mbps', + 'type' => 'string', + 'example' => 'Mini.2', + ], + 'ChargeType' => [ + 'description' => '付费方式。取值:'."\n" + ."\n" + .'- **AfterPay**:后付费'."\n" + .'- **PrePaid**:预付费', + 'type' => 'string', + 'example' => 'AfterPay', + ], + 'RouterInterfaceId' => [ + 'description' => '路由器接口的ID。', + 'type' => 'string', + 'example' => 'ri-m5egfc10sednwk2yt****', + ], + 'Message' => [ + 'description' => '返回信息。', + 'type' => 'string', + 'example' => 'successful', + ], + 'HcThreshold' => [ + 'description' => '健康检查阈值。表示指定健康检查时发送探测报文的个数。单位:个。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'OppositeRouterType' => [ + 'description' => '连接对端的路由器接口所属的路由器类型。取值:'."\n" + ."\n" + .'- **VRouter**:VPC路由器'."\n" + .'- **VBR**:边界路由器', + 'type' => 'string', + 'example' => 'VRouter', + ], + 'GmtModified' => [ + 'description' => '路由器接口修改的时间点。', + 'type' => 'string', + 'example' => '2022-04-28T10:02:12Z', + ], + 'VpcInstanceId' => [ + 'description' => '路由器接口所属的专有网络ID。', + 'type' => 'string', + 'example' => 'vpc-bp1b49rqrybk45nio****', + ], + 'OppositeInterfaceOwnerId' => [ + 'description' => '对端路由器接口的账号ID。', + 'type' => 'string', + 'example' => '1321932713****', + ], + 'OppositeVpcInstanceId' => [ + 'description' => '对端的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp1b49rqrybk45nio****', + ], + 'ReservationInternetChargeType' => [ + 'description' => '续费付费类型。取值:**PayByBandwidth**,表示按使用带宽付费。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'CrossBorder' => [ + 'description' => '是否是跨境连接。取值:'."\n" + ."\n" + .'- **false**:不是'."\n" + ."\n" + .'- **true**:是', + 'type' => 'boolean', + 'example' => 'false', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '01818199-04F6-47F4-9ADF-7CC824CF57A4', + ], + 'Bandwidth' => [ + 'description' => '路由器接口带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Description' => [ + 'description' => '路由器接口描述。', + 'type' => 'string', + 'example' => '对端接口', + ], + 'HcRate' => [ + 'description' => '健康检查速率。单位:秒。表示指定健康检查时发送连续探测报文的时间间隔。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'ReservationBandwidth' => [ + 'description' => '续费带宽。单位:Mbps。', + 'type' => 'string', + 'example' => '100', + ], + 'Code' => [ + 'description' => 'HTTP返回码。', + 'type' => 'string', + 'example' => '200', + ], + 'Name' => [ + 'description' => '路由器接口名称。', + 'type' => 'string', + 'example' => '路由器接口1', + ], + 'OppositeRouterId' => [ + 'description' => '连接对端的路由器接口所属的路由器ID。', + 'type' => 'string', + 'example' => 'vrt-bp11xvy6lb9photuu****', + ], + 'OppositeInterfaceSpec' => [ + 'description' => '连接对端路由器接口的规格。取值:'."\n" + ."\n" + .'- **Mini.2**:2 Mbps'."\n" + .'- **Mini.5**:5 Mbps'."\n" + .'- **Small.1**:10 Mbps'."\n" + .'- **Small.2**:20 Mbps'."\n" + .'- **Small.5**:50 Mbps'."\n" + .'- **Middle.1**:100 Mbps'."\n" + .'- **Middle.2**:200 Mbps'."\n" + .'- **Middle.5**:500 Mbps'."\n" + .'- **Large.1**:1000 Mbps'."\n" + .'- **Large.2**:2000 Mbps'."\n" + .'- **Large.5**:5000 Mbps'."\n" + .'- **Xlarge.1**:10000 Mbps'."\n" + .'- **Negative**:不涉及规格', + 'type' => 'string', + 'example' => 'Negative', + ], + 'RouterId' => [ + 'description' => '路由器接口所属的路由器ID。', + 'type' => 'string', + 'example' => 'vbr-m5ex0xf63xk8s5bob****', + ], + 'Success' => [ + 'description' => '是否调用成功。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'OppositeInterfaceBusinessStatus' => [ + 'description' => '连接对端的路由器接口的业务状态。取值:'."\n" + .'- **Normal**:正常'."\n" + .'- **FinancialLocked**:欠费锁定'."\n" + .'- **SecurityLocked**:安全风控锁定', + 'type' => 'string', + 'example' => 'Normal', + ], + 'ConnectedTime' => [ + 'description' => '连接建立的时间。', + 'type' => 'string', + 'example' => '2022-04-14T08:58:04Z', + ], + 'HealthCheckSourceIp' => [ + 'description' => '健康检查源IP。', + 'type' => 'string', + 'example' => '1.1.XX.XX', + ], + 'OppositeInterfaceStatus' => [ + 'description' => '连接对端的路由器接口的状态。取值:'."\n" + ."\n" + .'- **Idle**:未连接'."\n" + .'- **AcceptingConnecting**:接受连接中'."\n" + .'- **Connecting**: 连接中'."\n" + .'- **Activating**:激活中'."\n" + .'- **Active**:已激活'."\n" + .'- **Modifying**: 修改中'."\n" + .'- **Deactivating**:冻结中'."\n" + .'- **Inactive**:已冻结'."\n" + .'- **Deleting**:删除中'."\n" + .'- **Deleted**:已删除'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'EndTime' => [ + 'description' => '获取数据的结束时间点。', + 'type' => 'string', + 'example' => '2999-09-08T16:00:00Z', + ], + 'OppositeRegionId' => [ + 'description' => '连接对端路由器接口的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'OppositeAccessPointId' => [ + 'description' => '对端接入点ID。', + 'type' => 'string', + 'example' => 'ap-cn-qingdao-ls-B', + ], + 'BusinessStatus' => [ + 'description' => '路由器接口状态。取值:'."\n" + ."\n" + .'- **Normal**:正常'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定'."\n" + ."\n" + .'- **SecurityLocked**:安全风控锁定', + 'type' => 'string', + 'example' => 'Normal', + ], + 'HealthCheckStatus' => [ + 'description' => '健康检查状态。取值:'."\n" + ."\n" + .'- **Abnormal**:状态异常'."\n" + .'- **Normal**:正常'."\n" + .'- **NoRedundantRoute**:未配置冗余路由'."\n" + .'- **NoHealthCheckConfig**:未配置健康检查', + 'type' => 'string', + 'example' => 'normal', + ], + 'OppositeBandwidth' => [ + 'description' => '对端带宽。单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'RouterType' => [ + 'description' => '路由表所在路由器的类型。取值:'."\n" + ."\n" + .'- **VRouter**:VPC路由器'."\n" + ."\n" + .'- **VBR**:边界路由器', + 'type' => 'string', + 'example' => 'VRouter', + ], + 'Role' => [ + 'description' => '对等连接中的角色。', + 'type' => 'string', + 'example' => 'InitiatingSide', + ], + 'HasReservationData' => [ + 'description' => '是否有续费数据。取值:'."\n" + ."\n" + .'- **false**:没有'."\n" + ."\n" + .'- **true**:有', + 'type' => 'string', + 'example' => 'false', + ], + 'AccessPointId' => [ + 'description' => '接入点ID。', + 'type' => 'string', + 'example' => 'ap-cn-qingdao-ls-A', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。'."\n" + ."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~2381067~~)。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tags' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'一个标签键最多支持64个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + 'FastLinkMode' => [ + 'description' => '是否为使用快速连接模式创建的VBR上联路由器接口,快速连接模式可实现VBR和VPC两端路由器接口创建完毕后自动完成连接。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。'."\n" + ."\n\n" + .'> - 该参数只在**RouterType**取值为**VBR**,**OppositeRouterType**参数取值为**VRouter**时生效。'."\n" + .'- 当**FastLinkMode**参数取值为**true**时,**Role**参数必须取值为**InitiatingSide**,**AccessPointId**、**OppositeRouterType**、**OpppsiteRouterId**和**OppositeInterfaceOwnerId**参数为必选。'."\n", + 'type' => 'string', + 'example' => 'false', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NotNull', + 'errorMessage' => 'The parameter must not be null.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ReservationActiveTime\\": \\"2022-06-11T16:00:00Z\\",\\n \\"HealthCheckTargetIp\\": \\"2.2.XX.XX\\",\\n \\"Status\\": \\"Active\\",\\n \\"CreationTime\\": \\"2022-04-14T08:57:24Z\\",\\n \\"ReservationOrderType\\": \\"RENEW\\",\\n \\"OppositeInterfaceId\\": \\"ri-bp1xkrzttximaoxbl****\\",\\n \\"Spec\\": \\"Mini.2\\",\\n \\"ChargeType\\": \\"AfterPay\\",\\n \\"RouterInterfaceId\\": \\"ri-m5egfc10sednwk2yt****\\",\\n \\"Message\\": \\"successful\\",\\n \\"HcThreshold\\": 8,\\n \\"OppositeRouterType\\": \\"VRouter\\",\\n \\"GmtModified\\": \\"2022-04-28T10:02:12Z\\",\\n \\"VpcInstanceId\\": \\"vpc-bp1b49rqrybk45nio****\\",\\n \\"OppositeInterfaceOwnerId\\": \\"1321932713****\\",\\n \\"OppositeVpcInstanceId\\": \\"vpc-bp1b49rqrybk45nio****\\",\\n \\"ReservationInternetChargeType\\": \\"PayByBandwidth\\",\\n \\"CrossBorder\\": false,\\n \\"RequestId\\": \\"01818199-04F6-47F4-9ADF-7CC824CF57A4\\",\\n \\"Bandwidth\\": 2,\\n \\"Description\\": \\"对端接口\\",\\n \\"HcRate\\": 2,\\n \\"ReservationBandwidth\\": \\"100\\",\\n \\"Code\\": \\"200\\",\\n \\"Name\\": \\"路由器接口1\\",\\n \\"OppositeRouterId\\": \\"vrt-bp11xvy6lb9photuu****\\",\\n \\"OppositeInterfaceSpec\\": \\"Negative\\",\\n \\"RouterId\\": \\"vbr-m5ex0xf63xk8s5bob****\\",\\n \\"Success\\": true,\\n \\"OppositeInterfaceBusinessStatus\\": \\"Normal\\",\\n \\"ConnectedTime\\": \\"2022-04-14T08:58:04Z\\",\\n \\"HealthCheckSourceIp\\": \\"1.1.XX.XX\\",\\n \\"OppositeInterfaceStatus\\": \\"Active\\",\\n \\"EndTime\\": \\"2999-09-08T16:00:00Z\\",\\n \\"OppositeRegionId\\": \\"cn-hangzhou\\",\\n \\"OppositeAccessPointId\\": \\"ap-cn-qingdao-ls-B\\",\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"HealthCheckStatus\\": \\"normal\\",\\n \\"OppositeBandwidth\\": 0,\\n \\"RouterType\\": \\"VRouter\\",\\n \\"Role\\": \\"InitiatingSide\\",\\n \\"HasReservationData\\": \\"false\\",\\n \\"AccessPointId\\": \\"ap-cn-qingdao-ls-A\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n },\\n \\"FastLinkMode\\": \\"false\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2022-06-11T16:00:00Z\\n 2.2.XX.XX\\n Active\\n 2022-04-14T08:57:24Z\\n RENEW\\n ri-bp1xkrzttximaoxbl****\\n Mini.2\\n AfterPay\\n ri-m5egfc10sednwk2yt****\\n successful\\n 8\\n VRouter\\n 2022-04-28T10:02:12Z\\n vpc-bp1b49rqrybk45nio****\\n 1321932713****\\n vpc-bp1b49rqrybk45nio****\\n PayByBandwidth\\n false\\n 01818199-04F6-47F4-9ADF-7CC824CF57A4\\n 2\\n 对端接口\\n 2\\n 100\\n 200\\n 路由器接口1\\n vrt-bp11xvy6lb9photuu****\\n Negative\\n vbr-m5ex0xf63xk8s5bob****\\n true\\n Normal\\n 2022-04-14T08:58:04Z\\n 1.1.XX.XX\\n Active\\n 2999-09-08T16:00:00Z\\n cn-hangzhou\\n ap-cn-qingdao-ls-B\\n Normal\\n normal\\n 0\\n VRouter\\n InitiatingSide\\n false\\n ap-cn-qingdao-ls-A\\n rg-acfmxazb4ph6aiy****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n","errorExample":""}]', + 'title' => '查看路由器接口配置', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeactivateRouterInterface' => [ + 'summary' => '使用DeactivateRouterInterface冻结路由器接口。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口所在的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ri-2zeo3xzyf38r4urz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'BE7EB53A-99AB-4DA8-AEDE-75FA90D046A6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectRIStatus', + 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Active.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', + ], + [ + 'errorCode' => 'Forbbiden.InvaildOwner', + 'errorMessage' => 'The RouterInterface owener error', + ], + [ + 'errorCode' => 'OperationFailed.OperationLocked', + 'errorMessage' => 'Operation failed because OperationLocked.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BE7EB53A-99AB-4DA8-AEDE-75FA90D046A6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n BE7EB53A-99AB-4DA8-AEDE-75FA90D046A6\\n","errorExample":""}]', + 'title' => '冻结路由器接口', + ], + 'GrantInstanceToVbr' => [ + 'summary' => '调用GrantInstanceToVbr接口将跨账号创建VBR上连场景的VPC实例授权给VBR实例。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要授权的VPC实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VbrOwnerUid', + 'in' => 'query', + 'schema' => [ + 'description' => '接受授权的VBR实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1210123456123456', + ], + ], + [ + 'name' => 'VbrInstanceIds', + 'in' => 'query', + 'style' => 'simple', + 'schema' => [ + 'description' => '接受授权的VBR实例的列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '接受授权的VBR实例。多个VBR实例间使用半角逗号(,)分隔。'."\n" + ."\n" + .'- 当**GrantType**取值为**All**时,该参数可以为空,表示将VPC实例授权给指定地域和阿里云账号(主账号)下所有的VBR实例。'."\n" + .'- 当**GrantType**取值为**Specify**时,该参数需要配置,表示将VPC实例授权给指定VBR实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-m5ex0xf63xk8s5bob****,vbr-bp1h6efd7a5g66xxd****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要授权的VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp1lqhq93q8evjpky****', + ], + ], + [ + 'name' => 'GrantType', + 'in' => 'query', + 'schema' => [ + 'description' => '接受授权的VBR实例的范围。取值:'."\n" + ."\n" + .'- **All**:将VPC实例授权给指定地域和阿里云账号(主账号)下所有的VBR实例,此时**VbrInstanceIds**参数可以为空。'."\n" + .'- **Specify**:将VPC实例授权给指定VBR实例,此时**VbrInstanceIds**参数需要配置。', + 'type' => 'string', + 'required' => true, + 'example' => 'All', + ], + ], + [ + 'name' => 'VbrRegionNo', + 'in' => 'query', + 'schema' => [ + 'description' => '接受授权的VBR实例所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '响应数据结构。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F99F13AE-D733-5856-AB97-80CC88B1D5A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NotNull', + 'errorMessage' => 'The parameter must not be null.', + ], + [ + 'errorCode' => 'Parameter.Illegal', + 'errorMessage' => 'The parameter is illegal.', + ], + [ + 'errorCode' => 'Instance.StatusError', + 'errorMessage' => 'The status of instance error.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Instance.NotExist', + 'errorMessage' => 'The instance not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F99F13AE-D733-5856-AB97-80CC88B1D5A8\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F99F13AE-D733-5856-AB97-80CC88B1D5A8\\n","errorExample":""}]', + 'title' => '将跨账号创建VBR上连场景的VPC实例授权给VBR实例', + 'description' => '创建跨账号VBR上连时,您需要将VPC实例授权给VBR实例。', + ], + 'ActivateRouterInterface' => [ + 'summary' => '调用ActivateRouterInterface接口激活处于Inactive状态的路由器接口。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口ID。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ri-2zeo3xzyf38r4urz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '079874CD-AEC1-43E6-AC03-ADD96B6E4907', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectRIStatus', + 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Inactive.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', + ], + [ + 'errorCode' => 'OperationFailed.PconnTrafficNotEnable', + 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'The router does not belong to your account.', + ], + [ + 'errorCode' => 'NotSupportLinkrole', + 'errorMessage' => 'This RouterInterface is not a vlan interface for connection.', + ], + [ + 'errorCode' => 'OppositeRouterInterfaceIsDeleted', + 'errorMessage' => 'The opposite router interface is already deleted.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"079874CD-AEC1-43E6-AC03-ADD96B6E4907\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 079874CD-AEC1-43E6-AC03-ADD96B6E4907\\n","errorExample":""}]', + 'title' => '激活路由器接口', + 'description' => '调用ActivateRouterInterface接口后,路由器接口进入**Activating**状态,激活成功后进入**Active**状态。 '."\n" + ."\n" + .'> 无法激活处于欠费状态的路由器接口。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RevokeInstanceFromVbr' => [ + 'summary' => '调用RevokeInstanceFromVbr接口取消跨账号创建VBR上连场景下VPC实例对VBR实例的授权。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要取消授权的VPC实例所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VbrOwnerUid', + 'in' => 'query', + 'schema' => [ + 'description' => '取消接受授权的VBR实例所属阿里云账号(主账号)ID。', + 'type' => 'string', + 'required' => true, + 'example' => '1210123456123456', + ], + ], + [ + 'name' => 'VbrInstanceIds', + 'in' => 'query', + 'style' => 'simple', + 'schema' => [ + 'description' => '取消接受VPC实例授权的VBR实例ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '取消接受VPC实例授权的VBR实例ID。多个VBR实例间使用半角逗号(,)隔开。'."\n" + ."\n" + .'- 当**GrantType**取值为**ALL**时,该参数可以为空,表示取消指定地域内的所有VBR实例的VPC实例授权关系。'."\n" + ."\n" + .'- 当**GrantType**取值为**Specify**时,该参数需要配置,表示取消指定VBR实例的VPC实例授权关系。', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-m5ex0xf63xk8s5bob****,vbr-bp1h6efd7a5g66xxd****', + ], + 'required' => false, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要取消授权的VPC实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp1brjuegjc88v3u9****', + ], + ], + [ + 'name' => 'GrantType', + 'in' => 'query', + 'schema' => [ + 'description' => '取消接受VPC实例授权的VBR实例范围。取值:'."\n" + ."\n" + .'- **ALL**:表示取消指定地域内的所有VBR实例的VPC实例授权关系,此时**VbrInstanceIds**参数可以为空。'."\n" + ."\n" + .'- **Specify**:表示取消指定VBR实例的VPC实例授权关系,此时**VbrInstanceIds**参数需要配置。', + 'type' => 'string', + 'required' => true, + 'example' => 'ALL', + ], + ], + [ + 'name' => 'VbrRegionNo', + 'in' => 'query', + 'schema' => [ + 'description' => '要取消接受VPC实例授权的VBR实例所在地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '响应数据结构。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '45B7AA4A-4658-5FFC-90DD-9B8729F301BB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Instance.StatusError', + 'errorMessage' => 'The status of instance error. ', + ], + [ + 'errorCode' => 'InvalidParam.NotNull', + 'errorMessage' => 'The parameter must not be null.', + ], + [ + 'errorCode' => 'Parameter.Illegal', + 'errorMessage' => 'The parameter is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Instance.NotExist', + 'errorMessage' => 'The instance not exist.', + ], + [ + 'errorCode' => 'EcGrantRelation.NotExist', + 'errorMessage' => 'The ec grant relation not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45B7AA4A-4658-5FFC-90DD-9B8729F301BB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 45B7AA4A-4658-5FFC-90DD-9B8729F301BB\\n","errorExample":""}]', + 'title' => '取消跨账号创建VBR上连场景下VPC实例对VBR实例的授权', + ], + 'ConnectRouterInterface' => [ + 'summary' => '调用ConnectRouterInterface接口由发起端路由器接口向接收端发起连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '路由器接口所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 发起端路由器接口的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ri-2zeo3xzyf38r4urzd****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectRole.NotInitiatingSide', + 'errorMessage' => 'The specified RouterInterface is not InitiatingSide.', + ], + [ + 'errorCode' => 'IncorrectRIStatus', + 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Idle.', + ], + [ + 'errorCode' => 'IncorrectOppositeInterfaceInfo.NotSet', + 'errorMessage' => 'OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeInterfaceOwnerId must be all set.', + ], + [ + 'errorCode' => 'IncorrectOppositeInterfaceInfo', + 'errorMessage' => 'Cannot connect on the same router', + ], + [ + 'errorCode' => 'Forbidden.OnlyOneConnection', + 'errorMessage' => 'The Specified routers have a connection already', + ], + [ + 'errorCode' => 'Forbidden.BillsOutstanding', + 'errorMessage' => 'You cannot use this action because you have bills outstanding.', + ], + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account is not exists.', + ], + [ + 'errorCode' => 'ErrCode.Invalid', + 'errorMessage' => 'got error', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRole', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRouterId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRouterType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideAliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeInterfaceOwnerId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeRegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeInterfaceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeRouterId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeRouterType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.InstanceOwner', + 'errorMessage' => 'The router instance owener error.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + [ + 'errorCode' => 'CROSS_BID.FORBIDDEN', + 'errorMessage' => 'Connect RouterInterface across bid is illegal', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\n","errorExample":""}]', + 'title' => '由发起端路由器接口向接收端发起连接', + 'description' => '调用本接口后路由器接口进入**Connecting**状态,连接完成后进入**Active**状态。'."\n" + ."\n" + .'调用该接口创建VPC时,请注意: '."\n" + .'- 只能由状态为**Idle**的发起端路由器接口向接收端发起连接。 '."\n" + .'- 任意两个路由器之间,最多只能存在一对相互连接的路由器接口。 '."\n" + .'- 如果账号下存在处于欠费状态的路由器接口,无法进行发起连接。', + ], + 'CreateExpressCloudConnection' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务实例所属的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务的实例名称。'."\n" + ."\n" + .'长度为 2-128个字符,必须以字母或中文开头,可包含数字,点号(.),下划线(_)和短横线(-),但不能以`http:// `或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'doctest', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务的描述信息。'."\n" + ."\n" + .'长度为 2-256个字符,必须以字母或中文开头,但不能以`http://` 或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => '高速上云服务', + ], + ], + [ + 'name' => 'PeerCity', + 'in' => 'query', + 'schema' => [ + 'description' => '线下IDC机房所在的城市。', + 'type' => 'string', + 'required' => false, + 'example' => '杭州', + 'default' => 'blank', + ], + ], + [ + 'name' => 'PeerLocation', + 'in' => 'query', + 'schema' => [ + 'description' => '本地数据中心的地理位置。'."\n" + ."\n" + .'>需要精确到门牌号码-楼层-房间号-机柜号', + 'type' => 'string', + 'required' => true, + 'example' => '**市**区/县**路**号**物业或楼宇名称**座**楼层**房间号**机柜号**机柜名称**设备**端口', + ], + ], + [ + 'name' => 'IdcSP', + 'in' => 'query', + 'schema' => [ + 'description' => 'IDC的网络服务商。', + 'type' => 'string', + 'required' => true, + 'example' => 'CU', + ], + ], + [ + 'name' => 'PortType', + 'in' => 'query', + 'schema' => [ + 'description' => '物理专线接入端口类型,取值:'."\n" + ."\n" + .'* 100Base-T:百兆电口'."\n" + ."\n" + .'* 1000Base-T(默认值):千兆电口'."\n" + ."\n" + .'* 1000Base-LX:千兆单模光口(10千米)'."\n" + ."\n" + .'* 10GBase-T:万兆电口'."\n" + ."\n" + .'* 10GBase-LR:万兆单模光口(10千米)', + 'type' => 'string', + 'required' => false, + 'example' => '100Base-T', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '申请高速上云服务的带宽,对应底层物理线路的带宽。'."\n" + ."\n" + .'单位:Mbps。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '2', + ], + ], + [ + 'name' => 'ContactTel', + 'in' => 'query', + 'schema' => [ + 'description' => '申请高速上云服务的联系人电话。', + 'type' => 'string', + 'required' => false, + 'example' => '132*********', + ], + ], + [ + 'name' => 'ContactMail', + 'in' => 'query', + 'schema' => [ + 'description' => '申请高速上云连接的联系人邮件。', + 'type' => 'string', + 'required' => false, + 'example' => 'XX@example.com', + ], + ], + [ + 'name' => 'IDCardNo', + 'in' => 'query', + 'schema' => [ + 'description' => '申请高速上云服务的联系人证件证号。', + 'type' => 'string', + 'required' => false, + 'example' => '32*****************', + 'default' => 'blank', + ], + ], + [ + 'name' => 'RedundantEccId', + 'in' => 'query', + 'schema' => [ + 'description' => '冗余高速上云服务专线实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecc-d****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EccId' => [ + 'description' => '高速上云服务实例ID。', + 'type' => 'string', + 'example' => 'ecc-jg************', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C004F022-1CC2-4958-9937-675513A2CD7E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.AliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.Bid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.RegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Bandwith', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.ContactTel', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.ContactMail', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.IDCardNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PortType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PeerCity', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PeerLocation', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.ServiceProvider', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.RedundantEccId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.IdcSP', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EccId\\": \\"ecc-jg************\\",\\n \\"RequestId\\": \\"C004F022-1CC2-4958-9937-675513A2CD7E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ecc-bp1t9osmuln1*******\\n C004F022-1CC2-4958-9937-675513A2CD7E\\n","errorExample":""}]', + 'title' => '创建高速上云服务实例', + 'summary' => '调用CreateExpressCloudConnection创建高速上云服务实例。', + ], + 'ModifyExpressCloudConnectionAttribute' => [ + 'summary' => '调用ModifyExpressCloudConnectionAttribute修改高速上云服务连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务说明。', + 'type' => 'string', + 'required' => false, + 'example' => 'ECC', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务实例所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务实例名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'doctest', + ], + ], + [ + 'name' => 'EccId', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云连接实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecc-bp1t9osmuln*******', + ], + ], + [ + 'name' => 'BgpAs', + 'in' => 'query', + 'schema' => [ + 'description' => '指智能接入网关设备上需要配置的本地BGP的AS号。', + 'type' => 'string', + 'required' => false, + 'example' => 'sag-ejfge***', + ], + ], + [ + 'name' => 'PeIp', + 'in' => 'query', + 'schema' => [ + 'description' => '指智能接入网关设备和云上对接时的本地IP。', + 'type' => 'string', + 'required' => false, + 'example' => '10.10.**.**', + ], + ], + [ + 'name' => 'CeIp', + 'in' => 'query', + 'schema' => [ + 'description' => '指智能接入网关设备和云上对接时的云端IP。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.**.**', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E6385514-B0CC-48E3-B9F9-F7BFF64460A2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEccId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.AliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.RegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.EccId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEccApplication.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Description', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidServiceProvider.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.PortType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Distance', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.CircuitCode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.Type', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.Type', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAccessPoint.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E6385514-B0CC-48E3-B9F9-F7BFF64460A2\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n E6385514-B0CC-48E3-B9F9-F7BFF64460A2\\r\\n","errorExample":""}]', + 'title' => '修改高速上云服务连接', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyExpressCloudConnectionBandwidth' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务带宽。', + 'type' => 'string', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'EccId', + 'in' => 'query', + 'schema' => [ + 'description' => '高速上云服务实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecc-xxxxxxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E6385514-B0CC-48E3-B9F9-F7BFF64460A2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.EccId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.AliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.RegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParam.Bandwidth', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEccApplication.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEccId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.EccApplication', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.type', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E6385514-B0CC-48E3-B9F9-F7BFF64460A2\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n \\r\\n\\tE6385514-B0CC-48E3-B9F9-F7BFF64460A2\\r\\n ","errorExample":""}]', + 'title' => '修改高速上云服务带宽', + 'summary' => '调用ModifyExpressCloudConnectionBandwidth修改高速上云服务带宽。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateGlobalAccelerationInstance' => [ + 'summary' => '创建全球加速实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'docRequired' => true, + ], + ], + [ + 'name' => 'ServiceLocation', + 'in' => 'query', + 'schema' => [ + 'description' => '被加速的服务的所属区域,取值:'."\n" + ."\n" + .'- **china-mainland**:中国内地。'."\n" + ."\n" + .'- **north-america**:北美。'."\n" + .' '."\n" + .'- **asia-pacific**:亚太。'."\n" + .' '."\n" + .'- **europe**:欧洲 。', + 'type' => 'string', + 'required' => true, + 'example' => 'china-mainland', + 'docRequired' => true, + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例的带宽峰值,单位为Mbps,取值:**10**。', + 'type' => 'string', + 'required' => true, + 'example' => '10', + 'docRequired' => true, + ], + ], + [ + 'name' => 'BandwidthType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例带宽类型,取值:'."\n" + ."\n" + .'- **Sharing**:带宽共享型。'."\n" + ."\n" + .'- **Exclusive**:带宽独享型。', + 'type' => 'string', + 'required' => false, + 'example' => 'Exclusive', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例的名称。 '."\n" + ."\n" + .'长度为2~128个字符,必须以字母或中文开头,可包含数字、点号(.)、下划线(_)和短横线(-),但不能以`http://`或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'GA-1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例的描述信息。 '."\n" + ."\n" + .'长度为2~256个字符,必须以字母或中文开头,但不能以`http://`或`https://`开头。 '."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'My GA', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端token,用于保证请求的幂等性。 '."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符。 ', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + ], + 'GlobalAccelerationInstanceId' => [ + 'description' => '全球加速实例的ID。', + 'type' => 'string', + 'example' => 'ga-bp1fi6sq7npnicmjj****', + ], + 'IpAddress' => [ + 'description' => '全球加速实例的公网IP地址。'."\n" + ."\n" + .'如果**BandwidthType**取值为**Sharing**,则不返回该参数。', + 'type' => 'string', + 'example' => '12.xx.xx.78', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidBandwidth.ValueNotSupported', + 'errorMessage' => 'The specified Bandwidth is not supported.', + ], + [ + 'errorCode' => 'InvalidServiceLocation.ValueNotSupported', + 'errorMessage' => 'The specified ServiceLocation is not supported.', + ], + [ + 'errorCode' => 'QuotaExceeded.GlobalAccelerationInstance', + 'errorMessage' => 'GlobalAccelerationInstance quota exceeded.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceDescription.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'OperationFailed.UnpaidBillsExist', + 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not supported.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"GlobalAccelerationInstanceId\\": \\"ga-bp1fi6sq7npnicmjj****\\",\\n \\"IpAddress\\": \\"12.xx.xx.78\\"\\n}","errorExample":"\\n\\n\\tga-t4nluhu6\\n\\t12.34.56.78\\n\\t21AAFD16-F784-4BFB-XXXX-XXXXXXXX\\n"},{"type":"xml","example":"\\n\\tga-t4nluhu****\\n\\t12.34.56.78\\n\\t4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":"{\\n \\"GlobalAccelerationInstanceId\\": \\"ga-t4nluhu6\\",\\n \\"IpAddress\\": \\"12.34.56.78\\",\\n \\"RequestId\\": \\"21AAFD16-F784-4BFB-XXXX-XXXXXXXX\\"\\n }"}]', + 'title' => '创建全球加速实例', + 'description' => '## API描述'."\n" + ."\n" + .'本接口只支持创建后付费的全球加速实例。'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AddGlobalAccelerationInstanceIp' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享带宽型实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用**DescribeRegions**接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'GlobalAccelerationInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 共享型实例ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-Ldefrgbttnyyf****', + ], + ], + [ + 'name' => 'IpInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP实例的ID。 您可以通过调用[DescribeEipAddresses](~~36018~~)接口查询EIP实例的ID。 '."\n" + ."\n" + .'> 确保EIP的计费类型为后付费,且EIP的地域和共享型实例相同。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'eip-rw434rwfdeaf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '01FDDD49-C4B7-4D2A-A8E5-A93915C450A6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IpInstanceId.AlreadyInBandwidthPackage', + 'errorMessage' => 'The specified Eip InstanceId already in bandwidthPackage.', + ], + [ + 'errorCode' => 'IpInstanceId.BizStatusInvalid', + 'errorMessage' => 'The specified Eip BizStatus is Disable, Cannot add to bandwidthPackage.', + ], + [ + 'errorCode' => 'IpInstanceId.ChargeType.NotSupport', + 'errorMessage' => 'The specified Eip instance is PrePaid type, Cannot add to BandwidthPackage.', + ], + [ + 'errorCode' => 'BandwidthPackageId.InvalidBizStatus', + 'errorMessage' => 'The specified BandwidthPackageId has been FinancialLocked, Cannot add Ip.', + ], + [ + 'errorCode' => 'IpInstanceId.QuotaExceeded', + 'errorMessage' => 'The specified BandwidthPackageId has too many ip in it. exceed the quota , Cannot add more.', + ], + [ + 'errorCode' => 'EipOperation.TooFrequently', + 'errorMessage' => 'The specified Eip add into bandwidthPackage too frequently. please add later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidIpInstanceId.NotFound', + 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', + ], + [ + 'errorCode' => 'IpInstanceId.InvalidIpInternetChargeType', + 'errorMessage' => 'The hybrid type eip not support add into bandwidthPackage of PayBytraffic type.', + ], + [ + 'errorCode' => 'IpInstanceId.StatusNotAvailable', + 'errorMessage' => 'The specified Eip Status is not Available, Cannot add to GlobalAcceleration.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\"\\n}","errorExample":"\\n\\n 01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\n"},{"type":"xml","example":"\\n 01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\n","errorExample":"{\\n \\"RequestId\\": \\"01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\"\\n}"}]', + 'title' => '添加EIP到指定的带宽共享实例中', + 'summary' => '调用AddGlobalAccelerationInstanceIp接口添加EIP到指定的带宽共享实例中。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteGlobalAccelerationInstance' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'GlobalAccelerationInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 全球加速实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-asdfsl22s****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E6E63B2A-9820-44A8-A359-9BB2DAEE6424', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectGlobalAccelerationInstanceIdStatus', + 'errorMessage' => 'Current GlobalAccelerationInstance status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', + 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', + ], + [ + 'errorCode' => 'Forbidden.GlobalAccelerationInstanceChargeTypeIsPrepaid', + 'errorMessage' => 'It\'s forbidden to release a prepaid GlobalAccelerationInstance', + ], + [ + 'errorCode' => 'DependencyViolation.Ips', + 'errorMessage' => 'The specified BandwidthPackageId has dependent resource ips.', + ], + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'This openeration would be allowed only when status of this RouterInterface is Idle/Inactive.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not supported.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E6E63B2A-9820-44A8-A359-9BB2DAEE6424\\"\\n}","errorExample":"\\n\\n BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\n"},{"type":"xml","example":"\\n\\n E6E63B2A-9820-44A8-A359-9BB2DAEE6424\\n","errorExample":"{\\n \\"RequestId\\": \\"E6E63B2A-9820-44A8-A359-9BB2DAEE6424\\"\\n}"}]', + 'title' => '删除全球加速实例', + 'summary' => '删除全球加速实例。', + 'description' => '在调用该接口前,请注意: '."\n" + ."\n" + .'- 仅支持删除后付费实例。'."\n" + ."\n" + .'- 如果要删除独享型实例,在删除实例前,请先将实例中的后端服务器解绑。'."\n" + ."\n" + .'- 如果要删除共享型实例,在删除实例前,请先将实例中的EIP移除。 '."\n" + .' '."\n" + .' '."\n" + .' ', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassociateGlobalAccelerationInstance' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'GlobalAccelerationInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 全球加速实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-1sxeedefrr33****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑的实例类型,取值:'."\n" + ."\n" + .'- **RemoteEcsInstance**:ECS实例。'."\n" + ."\n" + .'- **RemoteSlbInstance**:负载均衡实例。'."\n" + ."\n" + .'- **RemoteEniInstance**:弹性网卡实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'RemoteEcsInstance', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectGlobalAccelerationInstanceIdStatus', + 'errorMessage' => 'Current GlobalAccelerationInstance status does not support this operation.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'Forbbiden.InvaildOwner', + 'errorMessage' => 'The GlobalAccelerationInstance owener error', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not supported.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', + 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\"\\n}","errorExample":"\\n\\n BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\n"},{"type":"xml","example":"\\n BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\n","errorExample":"{\\n \\"RequestId\\": \\"BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\"\\n}"}]', + 'title' => '解绑与全球加速实例关联的后端服务实例', + 'summary' => '调用UnassociateGlobalAccelerationInstance接口解绑与全球加速实例关联的后端服务实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyGlobalAccelerationInstanceAttributes' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'GlobalAccelerationInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 全球加速实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-14fdsf3****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例的名称。 '."\n" + ."\n" + .'长度为 2-128个字符,必须以字母或中文开头,可包含数字,点号(.),下划线(_)和短横线(-)。但不能以`http://` 或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'GA-1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例的描述信息。 '."\n" + ."\n" + .'长度为 2-256个字符,必须以字母或中文开头,但不能以`http://` 或`https://`开头。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'My GA', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidBandwidth.ValueNotSupported', + 'errorMessage' => 'The specified Bandwidth is not supported.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', + 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It?s forbidden to change prepaid EIP?s bandwidth by API. It can be changed on Aliyun web console.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceDescription.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstance.NotFound', + 'errorMessage' => 'The specified global acceleration instance is not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not supported.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\"\\n}","errorExample":"\\n\\n 185E81B1-3916-4667-B48F-C52409B33F2B\\n"},{"type":"xml","example":"\\n\\n BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\n","errorExample":"{\\n \\"RequestId\\": \\"BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\"\\n}"}]', + 'title' => '修改全球加速实例属性', + 'summary' => '修改全球加速实例的名称和描述信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyGlobalAccelerationInstanceSpec' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'GlobalAccelerationInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 全球加速实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-32s33s****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => ' 全球加速实例的带宽峰值,单位为Mbps,取值:**10**。', + 'type' => 'string', + 'required' => true, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidBandwidth.ValueNotSupported', + 'errorMessage' => 'The specified Bandwidth is not supported.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', + 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It?s forbidden to change prepaid GlobalAcceleration?s bandwidth by API. It can be changed on Aliyun web console.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidGlobalAccelerationInstanceDescription.Malformed', + 'errorMessage' => 'The specified Description is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'Specified GA allocation ID is not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not supported.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\"\\n}","errorExample":"\\n\\n BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\n"},{"type":"xml","example":"\\n BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\n","errorExample":"{\\n \\"RequestId\\": \\"BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX\\"\\n}"}]', + 'title' => '修改全球加速实例的带宽', + 'summary' => '调用ModifyGlobalAccelerationInstanceSpec接口修改全球加速实例的带宽。', + 'description' => '## API描述'."\n" + ."\n" + .'该接口不支持修改预付费全球加速实例的带宽。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeGlobalAccelerationInstances' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IncludeReservationData', + 'in' => 'query', + 'schema' => [ + 'description' => '是否包含未生效的订购数据,取值:'."\n" + ."\n" + .'- **false**(默认):不包含未生效的订购数据。'."\n" + ."\n" + .'- **true**:包含未生效的订购数据。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'GlobalAccelerationInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 全球加速实例的ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ga-234sljmxaz****', + ], + ], + [ + 'name' => 'IpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例的公网IP。', + 'type' => 'string', + 'required' => false, + 'example' => '12.xx.xx.78', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => ' 全球加速实例的名称。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'GA-1', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例状态,取值: '."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Inuse**:已分配。'."\n" + .' '."\n" + .'- **Associating**:绑定中。'."\n" + .' '."\n" + .'- **Unassociating**:解绑中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'BandwidthType', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例的带宽类型,取值: '."\n" + .' '."\n" + .'- **Sharing**:查询带宽共享型实例。'."\n" + .' '."\n" + .'- **Exclusive**(默认值):查询带宽独享型实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'Exclusive', + ], + ], + [ + 'name' => 'ServiceLocation', + 'in' => 'query', + 'schema' => [ + 'description' => '后端服务区域,取值: '."\n" + ."\n" + .'- **china-mainland**:中国内地。'."\n" + ."\n" + .'- **north-america**:北美。'."\n" + .' '."\n" + .'- **asia-pacific**:亚太。'."\n" + .' '."\n" + .'- **europe**:欧洲。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'china-mainland', + ], + ], + [ + 'name' => 'ServerId', + 'in' => 'query', + 'schema' => [ + 'description' => '后端服务实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-sxjblddejj9x****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '列表的页码,默认值为**1**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '10', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的行数,最大值为**100**,默认值为**10**。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页包含的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6B4EE38D-C75B-4E1F-844E-863A94430676', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'GlobalAccelerationInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'GlobalAccelerationInstance' => [ + 'description' => '全球加速实例列表的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '全球加速实例的创建时间,UTC时间。', + 'type' => 'string', + 'example' => '2018-07-05T03:39:31Z', + ], + 'Status' => [ + 'description' => '全球加速实例的状态。'."\n" + ."\n" + .'- **Available**:可用。'."\n" + ."\n" + .'- **Inuse**:已分配。'."\n" + .' '."\n" + .'- **Associating**:绑定中。'."\n" + .' '."\n" + .'- **Unassociating**:解绑中。', + 'type' => 'string', + 'example' => 'InUse', + ], + 'BandwidthType' => [ + 'description' => '全球加速实例的带宽类型。'."\n" + ."\n" + .'- **Sharing**:带宽共享型实例。'."\n" + .' '."\n" + .'- **Exclusive**(默认值):带宽独享型实例。', + 'type' => 'string', + 'example' => 'Exclusive', + ], + 'ChargeType' => [ + 'description' => '全球加速实例的付费类型。'."\n" + ."\n", + 'type' => 'string', + 'example' => 'PrePaid', + ], + 'GlobalAccelerationInstanceId' => [ + 'description' => '全球加速实例的ID。', + 'type' => 'string', + 'example' => 'ga-bp1x99kj7kl1ziw5x****', + ], + 'ServiceLocation' => [ + 'description' => '全球加速实例的服务区域。', + 'type' => 'string', + 'example' => 'china-mainland', + ], + 'RegionId' => [ + 'description' => '全球加速实例所在的地域。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AccelerationLocation' => [ + 'description' => '全球加速实例的加速区域。', + 'type' => 'string', + 'example' => 'china-mainland', + ], + 'IpAddress' => [ + 'description' => '独享型全球加速实例的公网IP。', + 'type' => 'string', + 'example' => '47.xx.xx.99', + ], + 'Description' => [ + 'description' => '全球加速实例的描述。', + 'type' => 'string', + 'example' => 'apiDescription', + ], + 'Bandwidth' => [ + 'description' => '全球加速实例的带宽峰值。', + 'type' => 'string', + 'example' => '10', + ], + 'ExpiredTime' => [ + 'description' => '实例过期时间。', + 'type' => 'string', + 'example' => '2018-08-05T16:00Z', + ], + 'InternetChargeType' => [ + 'description' => '全球加速实例的计费方式。', + 'type' => 'string', + 'example' => 'PayByBandwidth', + ], + 'Name' => [ + 'description' => '全球加速实例的名称。', + 'type' => 'string', + 'example' => 'instanceName', + ], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => '全球加速实例的后端服务器的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ServerIpAddress' => [ + 'description' => '后端服务器IP地址。', + 'type' => 'string', + 'example' => '172.xx.xx.109', + ], + 'ServerId' => [ + 'description' => '后端服务器ID。', + 'type' => 'string', + 'example' => 'i-2zeg83zvn5d4ed4y****', + ], + 'ServerType' => [ + 'description' => '后端服务器类型。'."\n" + ."\n" + .'- **EcsInstance**:ECS实例。'."\n" + ."\n" + .'- **SlbInstance**:SLB实例。', + 'type' => 'string', + 'example' => 'EcsInstance', + ], + 'RegionId' => [ + 'description' => '后端服务器所在的地域。', + 'type' => 'string', + 'example' => 'cn-beijing', + ], + ], + ], + ], + ], + ], + 'PublicIpAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PublicIpAddress' => [ + 'description' => '公网IP。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'description' => '全球加速实例的公网IP。', + 'type' => 'string', + 'example' => '12.xx.xx.78', + ], + 'AllocationId' => [ + 'description' => '全球加速实例的公网IP的ID。', + 'type' => 'string', + 'example' => 'eip-bp19yqraac4w3y0jd****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not supported.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"6B4EE38D-C75B-4E1F-844E-863A94430676\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"GlobalAccelerationInstances\\": {\\n \\"GlobalAccelerationInstance\\": [\\n {\\n \\"CreationTime\\": \\"2018-07-05T03:39:31Z\\",\\n \\"Status\\": \\"InUse\\",\\n \\"BandwidthType\\": \\"Exclusive\\",\\n \\"ChargeType\\": \\"PrePaid\\",\\n \\"GlobalAccelerationInstanceId\\": \\"ga-bp1x99kj7kl1ziw5x****\\",\\n \\"ServiceLocation\\": \\"china-mainland\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AccelerationLocation\\": \\"china-mainland\\",\\n \\"IpAddress\\": \\"47.xx.xx.99\\",\\n \\"Bandwidth\\": \\"10\\",\\n \\"Description\\": \\"apiDescription\\",\\n \\"ExpiredTime\\": \\"2018-08-05T16:00Z\\",\\n \\"InternetChargeType\\": \\"PayByBandwidth\\",\\n \\"Name\\": \\"instanceName\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"ServerIpAddress\\": \\"172.xx.xx.109\\",\\n \\"ServerId\\": \\"i-2zeg83zvn5d4ed4y****\\",\\n \\"ServerType\\": \\"EcsInstance\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n },\\n \\"PublicIpAddresses\\": {\\n \\"PublicIpAddress\\": [\\n {\\n \\"IpAddress\\": \\"12.xx.xx.78\\",\\n \\"AllocationId\\": \\"eip-bp19yqraac4w3y0jd****\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":"\\n\\n\\t\\n\\t\\t\\n\\t\\t\\tchina-mainland\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tcn-beijing\\n\\t\\t\\t\\t\\tlb-2222222333333333\\n\\t\\t\\t\\t\\t192.168.0.180\\n\\t\\t\\t\\t\\tSlbInstance\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t10\\n\\t\\t\\tPrePaid\\n\\t\\t\\t2017-07-26T03:34:30Z\\n\\t\\t\\t\\n\\t\\t\\t2017-08-26T16:00Z\\n\\t\\t\\tga-aabbccddaabb\\n\\t\\t\\tPayByBandwidth\\n\\t\\t\\t12.34.56.78\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\tcn-shanghai\\n\\t\\t\\tasia-pacific\\n\\t\\t\\tInUse\\n\\t\\t\\n\\t\\n\\t1\\n\\t10\\n\\t0487FCA3-E152-4726-8A17-25F69E03ADB0\\n\\t1\\n"},{"type":"xml","example":"\\r\\n\\r\\n 1\\r\\n 1\\r\\n 10\\r\\n 6B4EE38D-C75B-4E1F-844E-863A94430676\\r\\n \\r\\n \\r\\n PrePaid\\r\\n ga-bp1x99kj7kl1ziw5x****\\r\\n false\\r\\n \\r\\n \\r\\n \\r\\n i-2zeg83zvn5d4ed4y****\\r\\n cn-beijing\\r\\n EcsInstance\\r\\n 172.17.109.xxx\\r\\n \\r\\n \\r\\n 47.98.99.xxx\\r\\n PayByBandwidth\\r\\n \\r\\n Exclusive\\r\\n 2018-07-05T03:39:31Z\\r\\n InUse\\r\\n china-mainland\\r\\n cn-hangzhou\\r\\n china-mainland\\r\\n \\r\\n 2018-08-05T16:00Z\\r\\n \\r\\n 10\\r\\n \\r\\n\\t\\r\\n","errorExample":"{\\n \\"GlobalAccelerationInstances\\": {\\n \\"GlobalAccelerationInstance\\": [\\n {\\n \\"AccelerationLocation\\": \\"china-mainland\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"ServerId\\": \\"lb-2222222333333333\\",\\n \\"ServerIpAddress\\": \\"192.168.0.180\\",\\n \\"ServerType\\": \\"SlbInstance\\"\\n }\\n ]\\n },\\n \\"Bandwidth\\": \\"10\\",\\n \\"ChargeType\\": \\"PrePaid\\",\\n \\"CreationTime\\": \\"2017-07-26T03:34:30Z\\",\\n \\"Description\\": \\"\\",\\n \\"ExpiredTime\\": \\"2017-08-26T16:00Z\\",\\n \\"GlobalAccelerationInstanceId\\": \\"ga-aabbccddaabb\\",\\n \\"InternetChargeType\\": \\"PayByBandwidth\\",\\n \\"IpAddress\\": \\"12.34.56.78\\",\\n \\"Name\\": \\"\\",\\n \\"OperationLocks\\": {\\n \\"LockReason\\": []\\n },\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"ServiceLocation\\": \\"asia-pacific\\",\\n \\"Status\\": \\"InUse\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"0487FCA3-E152-4726-8A17-25F69E03ADB0\\",\\n \\"TotalCount\\": 1\\n}"}]', + 'title' => '查询已创建的全球加速实例列表', + 'summary' => '查询已创建的全球加速实例列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeServerRelatedGlobalAccelerationInstances' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '全球加速实例所在的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ServerId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 后端服务实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'i-12s3sdf****', + ], + ], + [ + 'name' => 'ServerType', + 'in' => 'query', + 'schema' => [ + 'description' => '后端服务实例的类型,取值: '."\n" + ."\n" + .'- **EcsInstance**(默认值):ECS实例'."\n" + ."\n" + .'- **SlbInstance**:负载均衡实例 '."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsInstance', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A8252014-D8DE-4D85-AF35-AFEXXXXXXX', + ], + 'GlobalAccelerationInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'GlobalAccelerationInstance' => [ + 'description' => '全球加速实例信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ServerIpAddress' => [ + 'description' => '后端服务IP地址。', + 'type' => 'string', + 'example' => '172.24.52.234', + ], + 'GlobalAccelerationInstanceId' => [ + 'description' => '全球加速实例 ID。', + 'type' => 'string', + 'example' => 'ga-t4nku6vv9****', + ], + 'IpAddress' => [ + 'description' => '全球加速实例公网 IP。', + 'type' => 'string', + 'example' => '12.34.56.78', + ], + 'RegionId' => [ + 'description' => '全球加速实例所属地域ID。'."\n", + 'type' => 'string', + 'example' => 'ap-southeast-1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidBackendServerId.NotInVPC', + 'errorMessage' => 'The specified BackendServerId is not in VPC.', + ], + [ + 'errorCode' => 'InvalidBackendServerType.NotFound', + 'errorMessage' => 'The specified BackendServerType is not supported.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region is not supported.', + ], + [ + 'errorCode' => 'InvalidBackendServerId.NotFound', + 'errorMessage' => 'The specified BackendServerId is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A8252014-D8DE-4D85-AF35-AFEXXXXXXX\\",\\n \\"GlobalAccelerationInstances\\": {\\n \\"GlobalAccelerationInstance\\": [\\n {\\n \\"ServerIpAddress\\": \\"172.24.52.234\\",\\n \\"GlobalAccelerationInstanceId\\": \\"ga-t4nku6vv9****\\",\\n \\"IpAddress\\": \\"12.34.56.78\\",\\n \\"RegionId\\": \\"ap-southeast-1\\"\\n }\\n ]\\n }\\n}","errorExample":"\\n\\n\\t\\n\\t\\t\\n\\t\\t\\tga-t4nku6vv9xxxxxxxxx\\n\\t\\t\\t12.34.56.78\\n\\t\\t\\tap-southeast-1\\n\\t\\t\\t172.24.52.234\\n\\t\\t\\n\\t\\n\\tA8252014-D8DE-4D85-AF35-AFEXXXXXXX\\n"},{"type":"xml","example":"\\n\\n\\t\\n\\t\\t\\n\\t\\t\\tga-t4nku6vv9****\\n\\t\\t\\t12.34.56.78\\n\\t\\t\\tap-southeast-1\\n\\t\\t\\t172.24.52.234\\n\\t\\t\\n\\t\\n\\tA8252014-D8DE-4D85-AF35-AFEXXXXXXX\\n","errorExample":"{\\n \\"GlobalAccelerationInstances\\": {\\n \\"GlobalAccelerationInstance\\": [\\n {\\n \\"GlobalAccelerationInstanceId\\": \\"ga-t4nku6vv9xxxxxxxxx\\",\\n \\"IpAddress\\": \\"12.34.56.78\\",\\n \\"RegionId\\": \\"ap-southeast-1\\",\\n \\"ServerIpAddress\\": \\"172.24.52.234\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A8252014-D8DE-4D85-AF35-AFEXXXXXXX\\"\\n}"}]', + 'title' => '查询指定后端服务器绑定的全球加速实例', + 'summary' => '查询指定后端服务器绑定的全球加速实例。', + 'description' => '> 该接口仅支持查询带宽独享型实例。 ', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RemoveGlobalAccelerationInstanceIp' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽共享型实例所在的地域。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'GlobalAccelerationInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => ' 带宽共享型实例ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-m5ex47zwya1sejyni****', + ], + ], + [ + 'name' => 'IpInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'EIP实例的ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeEipAddresses](~~36018~~)接口查询EIP实例的ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'eip-bp13e9i2qst4g6jzi****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IpInstanceId.NotBandwidthPackage', + 'errorMessage' => 'The specified IpInstanceId does not in bandwidthPackage.', + ], + [ + 'errorCode' => 'DependencyViolation.ip', + 'errorMessage' => 'The specified BandwidthPackageId has eip in it.', + ], + [ + 'errorCode' => 'EIP_BIND_NATGATEWAY', + 'errorMessage' => 'The eip have bind natgateway.', + ], + [ + 'errorCode' => 'IpInstanceId.StatusNotAvailable', + 'errorMessage' => 'The specified Eip Status is not Available, Cannot remove from GlobalAcceleration.', + ], + [ + 'errorCode' => 'OperationUnsupported.IpNotInCbwp', + 'errorMessage' => 'The specified eip is not in commonbandwidthPackage.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","errorExample":"\\n\\n 01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\n"},{"type":"xml","example":"\\r\\n 01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\r\\n","errorExample":"{\\n \\"RequestId\\": \\"01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\"\\n}"}]', + 'title' => '从带宽共享实例中移除EIP', + 'summary' => '调用RemoveGlobalAccelerationInstanceIp接口从带宽共享实例中移除EIP。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateVpcGatewayEndpoint' => [ + 'summary' => '调用CreateVpcGatewayEndpoint接口创建网关终端节点。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'title' => '专有网络实例ID', + 'description' => '要创建网关终端节点的VPC ID。'."\n" + ."\n" + .'该VPC必须与网关终端节点在同一个地域。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp1gsk7h12ew7oegk****', + ], + ], + [ + 'name' => 'ServiceName', + 'in' => 'query', + 'schema' => [ + 'title' => '网关节点服务的名称', + 'description' => '终端节点服务名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'com.aliyun.cn-hangzhou.oss', + ], + ], + [ + 'name' => 'PolicyDocument', + 'in' => 'query', + 'schema' => [ + 'title' => '访问云服务的权限控制策略', + 'description' => '云服务的访问策略。'."\n" + ."\n" + .'关于访问策略的语法和结构,请参见[权限策略语法和结构](~~93739~~)。'."\n" + ."\n" + .'> '."\n" + .'> - 当选择的终端节点服务支持设置访问策略时,该字段必填;'."\n" + .'> - 当选择的终端节点服务不支持设置访问策略时,该字段必须为空。'."\n" + .'> - 终端节点服务是否支持设置访问策略,可通过[ListVpcEndpointServicesByEndUser](~~448920~~)接口获取,SupportPolicy为true表明支持,否则不支持。', + 'type' => 'string', + 'required' => false, + 'example' => '{ "Version" : "1", "Statement" : [ { "Effect" : "Allow", "Resource" : [ "*" ], "Action" : [ "*" ], "Principal" : [ "*" ] } ] }', + ], + ], + [ + 'name' => 'EndpointName', + 'in' => 'query', + 'schema' => [ + 'title' => '网关节点名称', + 'description' => '网关终端节点的名称。'."\n" + ."\n" + .'名称的长度在1~128个字符之间。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'EndpointDescription', + 'in' => 'query', + 'schema' => [ + 'title' => '网关节点描述', + 'description' => '网关终端节点的描述信息。'."\n" + ."\n" + .'描述信息的长度在1~255个字符之间。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等参数', + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求', + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会创建网关终端节点。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并创建网关终端节点。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '网关终端节点所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要创建的网关终端节点的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '62CFC815-E08A-5CF4-92D1-54273EC9E406', + ], + 'EndpointId' => [ + 'description' => '网关终端节点实例ID。', + 'type' => 'string', + 'example' => 'vpce-bp1w1dmdqjpwul0v3****', + ], + 'ServiceName' => [ + 'description' => '终端节点服务名称。', + 'type' => 'string', + 'example' => 'com.aliyun.cn-hangzhou.oss', + ], + 'EndpointName' => [ + 'description' => '网关终端节点的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'CreationTime' => [ + 'description' => '网关终端节点的创建时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2021-08-27T01:58:37Z', + ], + 'ResourceGroupId' => [ + 'description' => '网关终端节点所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4ph****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ConcurrentOperation', + 'errorMessage' => 'The operation is failed because of concurrent operation.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + ], + [ + 'errorCode' => 'IllegalParam.PolicyDocument', + 'errorMessage' => 'The param of PolicyDocument is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.GatewayEndpointName', + 'errorMessage' => 'The param of GatewayEndpointName is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.GatewayEndpointDescription', + 'errorMessage' => 'The param of GatewayEndpointDescription is illegal.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.GatewayEndpoint', + 'errorMessage' => 'The specified resource gateway endpoint is already exist.', + ], + [ + 'errorCode' => 'ResourceNotFound.ServiceName', + 'errorMessage' => 'The specified resource service name is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.VpcId', + 'errorMessage' => 'The specified resource vpc is not found.', + ], + [ + 'errorCode' => 'Forbidden.OperateShareResource', + 'errorMessage' => 'The operation is failed because of shared vpc.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'The status of vpc [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.CenStatus', + 'errorMessage' => 'The status of vpc cenStatus [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationFailed.VpcIpv6Disabled', + 'errorMessage' => 'The operation is failed because of VpcIpv6Disabled.', + ], + [ + 'errorCode' => 'UnsupportedFeature.GatewayEndpoint', + 'errorMessage' => 'The feature of gatewayEndpoint is not supported for %s.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'OperationDenied.PolicyDocument', + 'errorMessage' => 'The gatewayEndpoint does not support policy.', + ], + [ + 'errorCode' => 'MissingParam.PolicyDocument', + 'errorMessage' => 'The param of PolicyDocument is missing.', + ], + [ + 'errorCode' => 'OperationDenied.NotAuthorized', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidPolicy.WrongFormat', + 'errorMessage' => 'Invalid input policy format.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"62CFC815-E08A-5CF4-92D1-54273EC9E406\\",\\n \\"EndpointId\\": \\"vpce-bp1w1dmdqjpwul0v3****\\",\\n \\"ServiceName\\": \\"com.aliyun.cn-hangzhou.oss\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"CreationTime\\": \\"2021-08-27T01:58:37Z\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 62CFC815-E08A-5CF4-92D1-54273EC9E406\\n vpce-bp1w1dmdqjpwul0v3****\\n com.aliyun.cn-hangzhou.oss\\n test\\n 2021-08-27T01:58:37Z\\n rg-acfmxazb4ph****\\n","errorExample":""}]', + 'title' => '创建网关终端节点', + 'description' => '- **CreateVpcGatewayEndpoint**接口属于异步接口,即系统返回一个**EndpointId**,但该网关终端节点尚未创建成功,系统后台的创建任务仍在进行。您可以调用[ListVpcGatewayEndpoints](~~448682~~)查询网关终端节点的创建状态:'."\n" + .' - 当网关终端节点处于**Creating**状态时,表示网关终端节点正在创建中。'."\n" + .' - 当网关终端节点处于**Created**状态时,表示网关终端节点创建成功。'."\n" + .'- **CreateVpcGatewayEndpoint**接口不支持针对同一个终端节点服务并发创建网关终端节点。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVpcGatewayEndpoint' => [ + 'summary' => '调用DeleteVpcGatewayEndpoint接口删除网关终端节点。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VPC网关实例ID', + 'description' => '网关终端节点实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpce-bp1w1dmdqjpwul0v3****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等参数', + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求', + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会删除网关终端节点。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并删除网关终端节点。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '网关终端节点所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A1122D0F-7B3B-5445-BB19-17F27F97FE1C', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ConcurrentOperation', + 'errorMessage' => 'The operation is failed because of concurrent operation.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayEndpoint', + 'errorMessage' => 'The specified resource gateway endpoint is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.GatewayEndpoint', + 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', + ], + [ + 'errorCode' => 'DependencyViolation.Association', + 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A1122D0F-7B3B-5445-BB19-17F27F97FE1C\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nA1122D0F-7B3B-5445-BB19-17F27F97FE1C\\r\\n","errorExample":""}]', + 'title' => '删除网关终端节点', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateVpcGatewayEndpointAttribute' => [ + 'summary' => '调用UpdateVpcGatewayEndpointAttribute接口修改网关终端节点的配置信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VPC网关实例ID', + 'description' => '需要修改信息的网关终端节点的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpce-bp1w1dmdqjpwul0v3****', + ], + ], + [ + 'name' => 'EndpointName', + 'in' => 'query', + 'schema' => [ + 'title' => '网关节点名称', + 'description' => '网关终端节点需要被修改的名称。'."\n" + ."\n" + .'名称的长度在1~128个字符之间。', + 'type' => 'string', + 'required' => false, + 'example' => 'update', + ], + ], + [ + 'name' => 'EndpointDescription', + 'in' => 'query', + 'schema' => [ + 'title' => '网关节点描述', + 'description' => '网关终端节点需要被修改的描述信息。'."\n" + ."\n" + .'描述信息的长度在1~255个字符之间。', + 'type' => 'string', + 'required' => false, + 'example' => 'updateendpoint', + ], + ], + [ + 'name' => 'PolicyDocument', + 'in' => 'query', + 'schema' => [ + 'title' => '访问云服务的权限控制策略', + 'description' => '云服务的访问策略。'."\n" + ."\n" + .'关于访问策略的语法和结构,请参见[权限策略语法和结构](~~93739~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '{ "Version" : "1", "Statement" : [ { "Effect" : "Allow", "Resource" : [ "*" ], "Action" : [ "*" ], "Principal" : [ "*" ] } ] }', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等参数', + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求', + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改网关终端节点的信息。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并修改网关终端节点的信息。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '需要修改信息的网关终端节点所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E9654534-5A38-5545-813F-0403D49042FB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ConcurrentOperation', + 'errorMessage' => 'The operation is failed because of concurrent operation.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayEndpoint', + 'errorMessage' => 'The specified resource gateway endpoint is not found.', + ], + [ + 'errorCode' => 'IllegalParam.PolicyDocument', + 'errorMessage' => 'The param of PolicyDocument is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.GatewayEndpointName', + 'errorMessage' => 'The param of GatewayEndpointName is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.GatewayEndpointDescription', + 'errorMessage' => 'The param of GatewayEndpointDescription is illegal.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'OperationDenied.PolicyDocument', + 'errorMessage' => 'The gatewayEndpoint does not support policy.', + ], + [ + 'errorCode' => 'IncorrectStatus.GatewayEndpoint', + 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', + ], + [ + 'errorCode' => 'InvalidPolicy.WrongFormat', + 'errorMessage' => 'Invalid input policy format.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E9654534-5A38-5545-813F-0403D49042FB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E9654534-5A38-5545-813F-0403D49042FB\\n","errorExample":""}]', + 'title' => '修改网关终端节点的配置信息', + 'description' => '- **UpdateVpcGatewayEndpointAttribute**接口属于异步接口,即系统会先返回一个**RequestId**,但该网关终端节点的配置信息并未修改完成,系统后台的修改任务仍在进行。您可以调用[GetVpcGatewayEndpointAttribute](~~311017~~)查询网关终端节点的状态。'."\n" + ."\n" + .' - 当网关终端节点处于**Updating**状态时,表示正在修改中。'."\n" + ."\n" + .' - 当网关终端节点处于**Created**状态时,表示修改完成。'."\n" + ."\n" + .'- **UpdateVpcGatewayEndpointAttribute**接口不支持并发修改同一个网关终端节点。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListVpcEndpointServicesByEndUser' => [ + 'summary' => '调用ListVpcEndpointServicesByEndUser查询可使用的终端节点服务。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'ServiceName', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的终端节点服务的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'com.aliyun.cn-hangzhou.oss', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要查询的网关终端节点所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0AB1129F-32C1-5E4D-9E22-E4A859CA46EB', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'Services' => [ + 'description' => '查询到可使用的终端节点服务列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '查询到可使用的终端节点服务列表信息。', + 'type' => 'object', + 'properties' => [ + 'ServiceId' => [ + 'description' => '终端节点服务的实例ID。', + 'type' => 'string', + 'example' => 'vpces-m5enwdmilo210aibo9****', + ], + 'ServiceName' => [ + 'description' => '终端节点服务的名称。', + 'type' => 'string', + 'example' => 'com.aliyun.cn-hangzhou.oss', + ], + 'DefaultPolicyDocument' => [ + 'description' => '默认访问策略。', + 'type' => 'string', + 'example' => '{ \\"Version\\" : \\"1\\", \\"Statement\\" : [ { \\"Effect\\" : \\"Allow\\", \\"Action\\" : \\"*\\", \\"Principal\\" : \\"*\\", \\"Resource\\" : \\"*\\" } ] }', + ], + 'SupportPolicy' => [ + 'description' => '终端节点服务是否支持设置访问策略。取值:'."\n" + ."\n" + .'- **false**:不支持设置访问策略。'."\n" + .'- **true**:支持设置访问策略。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceDomain' => [ + 'description' => '终端节点服务所属云产品在查询地域的域名。', + 'type' => 'string', + 'example' => 'oss-admin.aliyuncs.com', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'string', + 'example' => '2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.EndpointServiceId', + 'errorMessage' => 'The specified resource gateway endpoint service is not found.', + ], + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AB1129F-32C1-5E4D-9E22-E4A859CA46EB\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20,\\n \\"Services\\": [\\n {\\n \\"ServiceId\\": \\"vpces-m5enwdmilo210aibo9****\\",\\n \\"ServiceName\\": \\"com.aliyun.cn-hangzhou.oss\\",\\n \\"DefaultPolicyDocument\\": \\"{ \\\\\\\\\\\\\\"Version\\\\\\\\\\\\\\" : \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Statement\\\\\\\\\\\\\\" : [ { \\\\\\\\\\\\\\"Effect\\\\\\\\\\\\\\" : \\\\\\\\\\\\\\"Allow\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Action\\\\\\\\\\\\\\" : \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Principal\\\\\\\\\\\\\\" : \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Resource\\\\\\\\\\\\\\" : \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\" } ] }\\",\\n \\"SupportPolicy\\": true,\\n \\"ServiceDomain\\": \\"oss-admin.aliyuncs.com\\"\\n }\\n ],\\n \\"TotalCount\\": \\"2\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0AB1129F-32C1-5E4D-9E22-E4A859CA46EB\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 20\\n \\n vpces-m5enwdmilo210aibo9****\\n com.aliyun.cn-hangzhou.oss\\n { \\\\\\"Version\\\\\\" : \\\\\\"1\\\\\\", \\\\\\"Statement\\\\\\" : [ { \\\\\\"Effect\\\\\\" : \\\\\\"Allow\\\\\\", \\\\\\"Action\\\\\\" : \\\\\\"*\\\\\\", \\\\\\"Principal\\\\\\" : \\\\\\"*\\\\\\", \\\\\\"Resource\\\\\\" : \\\\\\"*\\\\\\" } ] }\\n true\\n oss-admin.aliyuncs.com\\n \\n","errorExample":""}]', + 'title' => '查询可使用的终端节点服务', + ], + 'GetVpcGatewayEndpointAttribute' => [ + 'summary' => '调用GetVpcGatewayEndpointAttribute接口查询网关终端节点的属性。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VPC网关实例ID', + 'description' => '网关终端节点实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpce-bp1w1dmdqjpwul0v3****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '网关终端节点所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A1122D0F-7B3B-5445-BB19-17F27F97FE1C', + ], + 'EndpointId' => [ + 'description' => '网关终端节点实例ID。', + 'type' => 'string', + 'example' => 'vpce-bp1w1dmdqjpwul0v3****', + ], + 'EndpointName' => [ + 'description' => '网关终端节点的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'EndpointDescription' => [ + 'description' => '网关终端节点的描述信息。', + 'type' => 'string', + 'example' => 'test', + ], + 'ServiceName' => [ + 'description' => '终端节点服务名称。', + 'type' => 'string', + 'example' => 'com.aliyun.cn-hangzhou.oss', + ], + 'VpcId' => [ + 'description' => '网关终端节点所在的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp1nh86rugg01zol0****', + ], + 'PolicyDocument' => [ + 'description' => '云服务的访问策略。', + 'type' => 'string', + 'example' => '{"Version" : "1", "Statement" : [ { "Effect" : "Allow", "Resource" : [ "*" ], "Action" : [ "*" ], "Principal" : [ "*" ] } ] }', + ], + 'CreationTime' => [ + 'description' => '网关终端节点的创建时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2021-08-27T01:58:37Z', + ], + 'EndpointStatus' => [ + 'description' => '网关终端节点的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + ."\n" + .'- **Created**:已创建,正常状态。'."\n" + ."\n" + .'- **Modifying**:修改中。'."\n" + ."\n" + .'- **Associating**:绑定中。'."\n" + ."\n" + .'- **Dissociating**:解绑中。'."\n" + ."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'RouteTables' => [ + 'description' => '网关终端节点关联的路由表ID。', + 'type' => 'array', + 'items' => [ + 'description' => '网关终端节点关联的路由表ID。', + 'type' => 'string', + 'example' => '["vtb-bp1s6g17997knk6a3****", "vtb-bp12qsdjwm37kv679****"]', + ], + ], + 'ResourceGroupId' => [ + 'description' => '网关终端节点所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxvfvazb4p****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceNotFound.GatewayEndpoint', + 'errorMessage' => 'The specified resource gateway endpoint is not found.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A1122D0F-7B3B-5445-BB19-17F27F97FE1C\\",\\n \\"EndpointId\\": \\"vpce-bp1w1dmdqjpwul0v3****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"EndpointDescription\\": \\"test\\",\\n \\"ServiceName\\": \\"com.aliyun.cn-hangzhou.oss\\",\\n \\"VpcId\\": \\"vpc-bp1nh86rugg01zol0****\\",\\n \\"PolicyDocument\\": \\"{\\\\\\"Version\\\\\\" : \\\\\\"1\\\\\\", \\\\\\"Statement\\\\\\" : [ { \\\\\\"Effect\\\\\\" : \\\\\\"Allow\\\\\\", \\\\\\"Resource\\\\\\" : [ \\\\\\"*\\\\\\" ], \\\\\\"Action\\\\\\" : [ \\\\\\"*\\\\\\" ], \\\\\\"Principal\\\\\\" : [ \\\\\\"*\\\\\\" ] } ] }\\",\\n \\"CreationTime\\": \\"2021-08-27T01:58:37Z\\",\\n \\"EndpointStatus\\": \\"Created\\",\\n \\"RouteTables\\": [\\n \\"[\\\\\\"vtb-bp1s6g17997knk6a3****\\\\\\", \\\\\\"vtb-bp12qsdjwm37kv679****\\\\\\"]\\"\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmxvfvazb4p****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n A1122D0F-7B3B-5445-BB19-17F27F97FE1C\\n vpce-bp1w1dmdqjpwul0v3****\\n test\\n test\\n com.aliyun.cn-hangzhou.oss\\n vpc-bp1nh86rugg01zol0****\\n {\\"Version\\" : \\"1\\", \\"Statement\\" : [ { \\"Effect\\" : \\"Allow\\", \\"Resource\\" : [ \\"*\\" ], \\"Action\\" : [ \\"*\\" ], \\"Principal\\" : [ \\"*\\" ] } ] }\\n 2021-08-27T01:58:37Z\\n Created\\n [\\"vtb-bp1s6g17997knk6a3****\\", \\"vtb-bp12qsdjwm37kv679****\\"]\\n rg-acfmxvfvazb4p****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n","errorExample":""}]', + 'title' => '查询网关终端节点的属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListVpcGatewayEndpoints' => [ + 'summary' => '调用ListVpcGatewayEndpoints接口查询已创建的网关终端节点的列表。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VPC网关实例ID', + 'description' => '网关终端节点实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpce-bp1i1212ss2whuwyw****', + ], + ], + [ + 'name' => 'EndpointName', + 'in' => 'query', + 'schema' => [ + 'title' => 'VPC网关实例名称', + 'description' => '网关终端节点的名称。'."\n" + ."\n" + .'名称的长度在1~128个字符之间。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ServiceName', + 'in' => 'query', + 'schema' => [ + 'title' => '后端的服务名称', + 'description' => '终端节点服务名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'com.aliyun.cn-hangzhou.oss', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要查询的网关终端节点所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '网关终端节点所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxvfvazb4p****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '网关终端节点所属的VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1gsk7h12ew7oegk****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0AB1129F-32C1-5E4D-9E22-E4A859CA46EB', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'Endpoints' => [ + 'description' => '网关终端节点的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '网关终端节点的列表。', + 'type' => 'object', + 'properties' => [ + 'EndpointId' => [ + 'description' => '网关终端节点实例ID。', + 'type' => 'string', + 'example' => 'vpce-bp1i1212ss2whuwyw****', + ], + 'EndpointName' => [ + 'description' => '网关终端节点的名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'EndpointDescription' => [ + 'description' => '网关终端节点的描述信息。', + 'type' => 'string', + 'example' => 'test_description', + ], + 'ServiceName' => [ + 'description' => '终端节点服务名称。', + 'type' => 'string', + 'example' => 'com.aliyun.cn-hangzhou.oss', + ], + 'VpcId' => [ + 'description' => '网关终端节点所在的VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp1gsk7h12ew7oegk****', + ], + 'PolicyDocument' => [ + 'description' => '云服务的访问策略。'."\n" + ."\n" + .'关于访问策略的语法和结构,请参见[权限策略语法和结构](~~93739~~)。', + 'type' => 'string', + 'example' => '{\\n \\"Version\\": \\"1\\",\\n \\"Statement\\": [\\n {\\n \\"Effect\\": \\"Allow\\",\\n \\"Action\\": \\"*\\",\\n \\"Principal\\": \\"*\\",\\n \\"Resource\\": \\"*\\"\\n }\\n ]\\n}', + ], + 'CreationTime' => [ + 'description' => '网关终端节点的创建时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。', + 'type' => 'string', + 'example' => '2021-09-08T08:43:04Z', + ], + 'EndpointStatus' => [ + 'description' => '网关终端节点的状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Created**:已创建,正常状态。'."\n" + .'- **Modifying**:修改中。'."\n" + .'- **Associating**:绑定中。'."\n" + .'- **Dissociating**:解绑中。'."\n" + .'- **Deleting**:删除中。', + 'type' => 'string', + 'example' => 'Created', + ], + 'AssociatedRouteTables' => [ + 'description' => '网关终端节点关联的路由表ID。', + 'type' => 'array', + 'items' => [ + 'description' => '网关终端节点关联的路由表ID。', + 'type' => 'string', + 'example' => 'vtb-bp1sme72jnuodvyx7****', + ], + ], + 'ResourceGroupId' => [ + 'description' => '网关终端节点所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxvfvazb4p****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'FinanceJoshua', + ], + ], + ], + ], + ], + ], + ], + 'MaxResults' => [ + 'title' => '本次请求最大数量', + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.NextToken', + 'errorMessage' => 'The specified NextToken is invalid.', + ], + [ + 'errorCode' => 'IllegalParam.MaxResults', + 'errorMessage' => 'The param of MaxResults is illegal.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AB1129F-32C1-5E4D-9E22-E4A859CA46EB\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 10,\\n \\"Endpoints\\": [\\n {\\n \\"EndpointId\\": \\"vpce-bp1i1212ss2whuwyw****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"EndpointDescription\\": \\"test_description\\",\\n \\"ServiceName\\": \\"com.aliyun.cn-hangzhou.oss\\",\\n \\"VpcId\\": \\"vpc-bp1gsk7h12ew7oegk****\\",\\n \\"PolicyDocument\\": \\"{\\\\\\\\n \\\\\\\\\\\\\\"Version\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Statement\\\\\\\\\\\\\\": [\\\\\\\\n {\\\\\\\\n \\\\\\\\\\\\\\"Effect\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"Allow\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Action\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Principal\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Resource\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\"\\\\\\\\n }\\\\\\\\n ]\\\\\\\\n}\\",\\n \\"CreationTime\\": \\"2021-09-08T08:43:04Z\\",\\n \\"EndpointStatus\\": \\"Created\\",\\n \\"AssociatedRouteTables\\": [\\n \\"vtb-bp1sme72jnuodvyx7****\\"\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmxvfvazb4p****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ]\\n }\\n ],\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"\\n 0AB1129F-32C1-5E4D-9E22-E4A859CA46EB\\n FFmyTO70tTpLG6I3FmYAXGKPd****\\n 10\\n \\n vpce-bp1i1212ss2whuwyw****\\n test\\n test_description\\n com.aliyun.cn-hangzhou.oss\\n vpc-bp1gsk7h12ew7oegk****\\n {\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": \\\\\\"*\\\\\\",\\\\n \\\\\\"Principal\\\\\\": \\\\\\"*\\\\\\",\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\n 2021-09-08T08:43:04Z\\n Created\\n vtb-bp1sme72jnuodvyx7****\\n rg-acfmxvfvazb4p****\\n \\n FinanceDept\\n FinanceJoshua\\n \\n \\n 20\\n","errorExample":""}]', + 'title' => '查询VPC网关端点列表', + ], + 'AssociateRouteTablesWithVpcGatewayEndpoint' => [ + 'summary' => '调用AssociateRouteTablesWithVpcGatewayEndpoint接口关联路由表与网关终端节点。 ', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VPC网关实例ID', + 'description' => '要关联路由表的网关终端节点实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpce-m5e371h5clm3uadih****', + ], + ], + [ + 'name' => 'RouteTableIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '路由表列表', + 'description' => '要关联的路由表ID。**N**的取值范围为**1**~**20**,即一次最多绑定20张路由表。', + 'type' => 'array', + 'items' => [ + 'description' => '要关联的路由表ID。**N**的取值范围为**1**~**20**,即一次最多绑定20张路由表。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-m5elgtm3aj586iitr****', + ], + 'required' => true, + 'example' => 'vtb-m5elgtm3aj586iitr****', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等参数', + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求', + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会关联路由表。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回2xx HTTP状态码并关联路由表。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '要关联路由表的网关终端节点的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '59BDDA2D-FB52-59F9-9DC5-5EA7D6808B8E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ConcurrentOperation', + 'errorMessage' => 'The operation is failed because of concurrent operation.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayEndpoint', + 'errorMessage' => 'The specified resource gateway endpoint is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.GatewayEndpoint', + 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.ServiceName', + 'errorMessage' => 'The specified resource service name is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.PrefixList', + 'errorMessage' => 'The specified resource prefixList is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource routetable is not found.', + ], + [ + 'errorCode' => 'Mismatch.VpcAndRouteTable', + 'errorMessage' => 'The vpc and routetable are mismatched.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTable', + 'errorMessage' => 'The status of route table [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyExist.Association', + 'errorMessage' => 'The specified resource of [%s] is already exist.', + ], + [ + 'errorCode' => 'VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE', + 'errorMessage' => 'Specified CIDR block is already exists.', + ], + [ + 'errorCode' => 'VPC_SWITCH_STATUS_ERROR', + 'errorMessage' => 'vSwitch status error, %s', + ], + [ + 'errorCode' => 'QuotaExceeded.VpcRouteEntryNum', + 'errorMessage' => 'The quota of vpc route entry num is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch', + 'errorMessage' => 'The operation is failed because of destination CIDR block is in the CIDR of the VSwitch.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'The status of vpc [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.CenStatus', + 'errorMessage' => 'The status of vpc cenStatus [%s] is incorrect.', + ], + [ + 'errorCode' => 'UnsupportedFeature.RouterTableType', + 'errorMessage' => 'The type of router table is not supported.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"59BDDA2D-FB52-59F9-9DC5-5EA7D6808B8E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 59BDDA2D-FB52-59F9-9DC5-5EA7D6808B8E\\n","errorExample":""}]', + 'title' => '关联路由表与网关终端节点', + 'description' => '在调用本接口关联路由表与网关终端节点时,请了解以下内容:'."\n" + ."\n" + .'- 要关联路由表的网关终端节点实例不能处于**Creating**(创建中)、**Modifying**(修改中)、**Associating**(绑定中)、**Dissociating**(解绑中)、**Deleting**(删除中)等中间状态。'."\n" + .'- 要关联的路由表不能处于**Creating**(创建中)、**Modifying**(修改中)、**Associating**(绑定中)、**Dissociating**(解绑中)、**Deleting**(删除中)等中间状态。'."\n" + .'- 要关联的路由表和网关终端节点必须属于同一个VPC。'."\n" + .'- 要关联的路由表不能是被共享的。'."\n" + .'- 不支持关联VBR路由表。'."\n" + .'- 一次最多关联20张路由表。'."\n" + .'- **AssociateRouteTablesWithVpcGatewayEndpoint**接口属于异步接口,即系统返回一个实例ID,但该路由表与网关终端节点尚未绑定成功,系统后台的绑定任务仍在进行。您可以调用[GetVpcGatewayEndpointAttribute](~~311017~~)查询路由表与网关终端节点的绑定状态:'."\n" + .' - 当路由表与网关终端节点处于**Associating**状态时,表示路由表与网关终端节点正在绑定中。'."\n" + .' - 当路由表与网关终端节点处于**Created**状态时,表示路由表与网关终端节点绑定成功。'."\n" + .'- **AssociateRouteTablesWithVpcGatewayEndpoint**接口不支持并发关联同一个路由表与网关终端节点。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DissociateRouteTablesFromVpcGatewayEndpoint' => [ + 'summary' => '调用DissociateRouteTablesFromVpcGatewayEndpoint接口将网关终端节点与路由表解绑。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => 'VPC网关实例ID', + 'description' => '网关终端节点实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpce-bp11cwae3p6z7ftbm****', + ], + ], + [ + 'name' => 'RouteTableIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '路由表列表', + 'description' => '路由表列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'VPC路由表的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vtb-m5elgtm3aj586iitr****', + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '幂等参数', + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => 'TF-DissociateRouteTablesFromVpcGatewayEndpoint-1634369235-8f****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求', + 'description' => '是否检测此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求。'."\n" + .'- **false**(默认值):发送正常请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '终端节点所属的地域ID。您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '30F711D5-E7E2-5D42-A247-0FA7288BEAAA', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.ConcurrentOperation', + 'errorMessage' => 'The operation is failed because of concurrent operation.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + ], + [ + 'errorCode' => 'ResourceNotFound.GatewayEndpoint', + 'errorMessage' => 'The specified resource gateway endpoint is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.GatewayEndpoint', + 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteTable', + 'errorMessage' => 'The specified resource routetable is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTable', + 'errorMessage' => 'The status of route table [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.Association', + 'errorMessage' => 'The specified resource gateway endpoint is not associated.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'IncorrectStatus.CenStatus', + 'errorMessage' => 'The CenStatus of Vpc is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.RouteEntry', + 'errorMessage' => 'The specified resource is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', + 'callbackInterval' => 3000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30F711D5-E7E2-5D42-A247-0FA7288BEAAA\\"\\n}","type":"json"}]', + 'title' => '将网关终端节点与路由表解绑', + ], + 'MoveResourceGroup' => [ + 'summary' => '修改云资源所属的资源组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改资源组的云资源的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-hp31psbg8ec3023s6****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改资源组的云资源类型,取值:'."\n" + ."\n" + .'- **Vpc**:专有网络'."\n" + .'- **Eip**:弹性公网IP'."\n" + .'- **BandwidthPackage**:共享带宽'."\n" + .'- **PrefixList**:前缀列表'."\n" + .'- **PublicIpAddressPool**:地址池'."\n" + .'- **FlowLog**:流日志'."\n" + .'- **HaVip**:高可用虚拟IP'."\n" + .'- **TrafficMirrorFilter**:流量镜像筛选条件'."\n" + .'- **TrafficMirrorSession**:流量镜像会话'."\n" + .'- **IPv4Gateway**:IPv4网关'."\n" + .'- **IPv6Gateway**:IPv6网关'."\n" + .'- **IPv6Address**:IPv6地址'."\n" + .'- **DhcpOptionsSet**:DHCP选项集'."\n" + .'- **GatewayEndpoint**:网关终端节点', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要移入云资源实例的资源组ID。'."\n" + ."\n" + .'> 资源组是在阿里云账号下进行资源分组管理的一种机制,资源组能够帮助您解决单个云账号内的资源分组和授权管理等复杂性问题。更多信息,请参见[什么是资源管理](~~94475~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'rg-acfm3peow3k****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '云资源所属的地域ID。'."\n" + ."\n\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceId does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceType', + 'errorMessage' => 'Invalid Resource Type value.', + ], + [ + 'errorCode' => 'OperationFailed.InstanceStatusNotAllowed', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectStatus.Vpc', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Forbidden.OperateManagedFlowLog', + 'errorMessage' => 'Authentication is failed for operate managed flowlog.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified bandwidthPackage resourceId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\n","errorExample":""}]', + 'title' => '修改云资源所属的资源组', + 'description' => '**ChangeResourceGroup**接口不支持在同一个物理专线实例内并发修改物理专线资源所属的资源组。', + ], + 'ChangeResourceGroup' => [ + 'summary' => '调用ChangeResourceGroup接口修改物理专线资源所属的资源组。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => '要替换的新的资源组ID。'."\n" + ."\n" + .'> 资源组是在阿里云账号下进行资源分组管理的一种机制,资源组能够帮助您解决单个云账号内的资源分组和授权管理等复杂性问题。更多信息,请参见[什么是资源管理](~~94475~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'rg-bp1drpcfz9srr393h****', + 'enum' => [], + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + .'- **PHYSICALCONNECTION**:表示高速通道专线实例。'."\n" + .'- **VIRTUALBORDERROUTER**:表示边界路由器。'."\n" + .'- **ROUTERINTERFACE**:表示VBR上连。'."\n" + .'- **TRAFFICQOS**:表示QoS策略。', + 'type' => 'string', + 'required' => true, + 'example' => 'PHYSICALCONNECTION', + 'enum' => [], + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => '待修改资源组的物理专线资源ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pc-bp16qjewdsunr41m1****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要修改的资源组所属的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceType.Unknown', + 'errorMessage' => 'Unknown ResourceType.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instance id does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'This resourceId already has flowlog instance existed.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceType', + 'errorMessage' => 'Invalid Resource Type value.', + ], + [ + 'errorCode' => 'IllegalParam.ResourceGroupId', + 'errorMessage' => 'Invalid ResourceGroupld value.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', + 'title' => '修改物理专线资源所属的资源组', + 'description' => '**ChangeResourceGroup**接口不支持在同一个物理专线实例内并发修改物理专线资源所属的资源组。', + ], + 'DescribeVpcGrantRulesToEcr' => [ + 'summary' => '查询指定网络实例的专线网关跨账号授权信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**100**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'* 第一次查询和没有下一次查询时,均无需填写。'."\n" + ."\n" + .'* 如果有下一次查询,取值为上一次API调用返回的**NextToken**值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-wz9ek66wd7tl5xqpy****', + ], + ], + [ + 'name' => 'EcrInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的专线网关实例的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-ncxadcujadncsa****', + ], + ], + [ + 'name' => 'EcrOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECR实例所属阿里云账号(主账号)ID。'."\n" + ."\n" + .'> 如果您要加载跨账号的网络实例,本参数必填。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '192732132151****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例所在的地域。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的网络实例所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4ph6aiy****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。至少输入1个标签键,最多支持输入20个标签键。如需传入该值,则不能输入空字符串。'."\n" + ."\n" + .'一个标签键最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceDept', + ], + 'Value' => [ + 'description' => '资源的标签值。最多支持输入20个标签值。如需传入该值,可以输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'FinanceJoshua', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询授权关系的实例类型。取值:'."\n" + ."\n" + .'- **VBR**:边界路由器VBR(Virtual border router)实例,表示查询VBR实例拥有哪些VPC实例的授权。'."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例,表示查询VPC实例对哪些VBR实例进行了授权。', + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'RequestId' => [ + 'description' => '阿里云为该请求生成的唯一标识符。', + 'type' => 'string', + 'example' => '66342E8E-5E87-5FF9-80C7-C3E3571A****', + ], + 'TotalCount' => [ + 'description' => '查询到的实例总数。说明 使用MaxResults和NextToken参数进行分页查询时,返回的TotalCount参数值无意义。', + 'type' => 'string', + 'example' => '10', + ], + 'GrantRuleModels' => [ + 'description' => '授权信息。', + 'type' => 'array', + 'items' => [ + 'description' => '授权信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '要查询的网络实例的ID。', + 'type' => 'string', + 'example' => 'vpc-wz9ek66wd7tl5xqpy****', + ], + 'Type' => [ + 'description' => '授权关系的实例类型。取值:'."\n" + ."\n" + .'- **VBR**:边界路由器VBR(Virtual border router)实例,表示查询VBR实例拥有哪些VPC实例的授权。'."\n" + .'- **VPC**:专有网络VPC(Virtual Private Cloud)实例,表示查询VPC实例对哪些VBR实例进行了授权。', + 'type' => 'string', + 'example' => 'VPC', + ], + 'InstanceUid' => [ + 'description' => '查询的授权关系实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '192745367151****', + ], + 'RegionNo' => [ + 'description' => '查询的授权关系实例所在地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'EcrId' => [ + 'description' => '专线网关实例ID。', + 'type' => 'string', + 'example' => 'ecr-tz7w3chlaptxr2****', + ], + 'EcrOwnerId' => [ + 'description' => 'ECR实例所属阿里云账号(主账号)ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '192732132151****', + ], + 'CreationTime' => [ + 'description' => '创建时间,单位毫秒', + 'type' => 'string', + 'example' => '2024-09-09T02:14:51Z', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"66342E8E-5E87-5FF9-80C7-C3E3571A****\\",\\n \\"TotalCount\\": \\"10\\",\\n \\"GrantRuleModels\\": [\\n {\\n \\"InstanceId\\": \\"vpc-wz9ek66wd7tl5xqpy****\\",\\n \\"Type\\": \\"VPC\\",\\n \\"InstanceUid\\": 0,\\n \\"RegionNo\\": \\"cn-hangzhou\\",\\n \\"EcrId\\": \\"ecr-tz7w3chlaptxr2****\\",\\n \\"EcrOwnerId\\": 0,\\n \\"CreationTime\\": \\"2024-09-09T02:14:51Z\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询专线网关跨账号授权信息', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-qingdao', + 'endpoint' => 'vpc.cn-qingdao.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'vpc.cn-beijing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou', + 'endpoint' => 'vpc.cn-zhangjiakou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhengzhou-jva', + 'endpoint' => 'vpc.cn-zhengzhou-jva.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote', + 'endpoint' => 'vpc.cn-huhehaote.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu', + 'endpoint' => 'vpc.cn-wulanchabu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'vpc.cn-hangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'vpc.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'cn-nanjing', + 'endpoint' => 'vpc.cn-nanjing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-fuzhou', + 'endpoint' => 'vpc.cn-fuzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'vpc.cn-shenzhen.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan', + 'endpoint' => 'vpc.cn-heyuan.aliyuncs.com', + ], + [ + 'regionId' => 'cn-guangzhou', + 'endpoint' => 'vpc.cn-guangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu', + 'endpoint' => 'vpc.cn-chengdu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wuhan-lr', + 'endpoint' => 'vpc.cn-wuhan-lr.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'vpc.cn-hongkong.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'vpc.ap-northeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-2', + 'endpoint' => 'vpc.ap-northeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'vpc.ap-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-2', + 'endpoint' => 'vpc.ap-southeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-3', + 'endpoint' => 'vpc.ap-southeast-3.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'vpc.ap-southeast-5.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-6', + 'endpoint' => 'vpc.ap-southeast-6.aliyuncs.com', + ], + [ + 'regionId' => 'us-east-1', + 'endpoint' => 'vpc.us-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'vpc.us-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-west-1', + 'endpoint' => 'vpc.eu-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'vpc.eu-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-south-1', + 'endpoint' => 'vpc.ap-south-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-east-1', + 'endpoint' => 'vpc.me-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-finance-1', + 'endpoint' => 'vpc.cn-shanghai-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen-finance-1', + 'endpoint' => 'vpc.cn-shenzhen-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-7', + 'endpoint' => 'vpc.ap-southeast-7.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-1', + 'endpoint' => 'vpc.cn-beijing-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-central-1', + 'endpoint' => 'vpc.me-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan-acdr-1', + 'endpoint' => 'vpc.cn-heyuan-acdr-1.aliyuncs.com', + ], + [ + 'regionId' => 'na-south-1', + 'endpoint' => 'vpc.na-south-1.aliyuncs.com', + ], + ], +]; -- cgit v1.2.3